如何在DataGrid的空模板中设置两对<tr></tr>标签?
在DataGrid的空模板中设置表头和一个LinkButton按钮,表头在一对 <tr> </tr>间,按钮在另一对 <tr> </tr>间,如何做才能让这个GridView控件生成的table代码层次结构为下面形式:程序代码:
<table cellspacing="0" rules="all" border="1" id="ctl00_ContentPlaceHolder1_gv" style="border-collapse:collapse;"> <tr><th>字段1</th><th>字段2</th><th>字段3</th> </tr> <tr><td> <a id="ctl00_ContentPlaceHolder1_btnTest" href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$Test','')">测试</a> </td></tr> </table>
(不允许在td中嵌套table标签)
默认的空模板会带一个 <tr> <td colspan=3 </tr>这样的标签序列,所以我在RowCreated事件中把这序列先删除了,然后动态创建了表头
程序代码:
protected void gv_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.EmptyDataRow) { e.Row.Controls.Clear(); foreach (DataControlField col in gv.Columns) { if (col.Visible) { TableHeaderCell cell = new TableHeaderCell(); cell.Text = col.HeaderText; e.Row.Cells.Add(cell); } } //如何为LinkButton再创建一对<tr></tr>,不允许嵌套table标签 } }
尝试了很长时间,不知道如何再创建一对 <tr> </tr>给LinkButton用,望高手赐教
[ 本帖最后由 dic4000 于 2010-3-3 09:54 编辑 ]