注册 登录
编程论坛 ASP.NET技术论坛

如何在DataGrid的空模板中设置两对<tr></tr>标签?

dic4000 发布于 2010-03-03 09:52, 681 次点击
在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 编辑 ]
0 回复
1