前台:

<div>
标题控件:<br/>
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"OnRowCreated="GridView1_RowCreated">
<Columns>
<asp:BoundFieldDataField="M_Name"HeaderText="名称"/>
<asp:BoundFieldDataField="M_ID"HeaderText="字段ID"/>
</Columns>
</asp:GridView>
<br/>多标题:<br/>
<asp:GridViewID="GridView2"runat="server"AutoGenerateColumns="False"OnRowCreated="GridView2_RowCreated">
<Columns>
<asp:BoundFieldDataField="M_ID"HeaderText="字段ID1"/>
<asp:BoundFieldDataField="M_ID"HeaderText="字段ID"/>
<asp:BoundFieldDataField="M_Name"HeaderText="名称"/>
<asp:BoundFieldDataField="M_Name"HeaderText="名称1"/>
</Columns>
</asp:GridView>
</div>

后台绑定:

privatevoidbing()
{
stringsql="selectM_ID,M_NamefromModule";
DataTabledt=newDataTable();
dt=DBArticle.RunSqlDt(sql);
GridView1.DataSource=dt.DefaultView;
GridView1.DataBind();
GridView2.DataSource=dt.DefaultView;
GridView2.DataBind();
}

在表头添加下拉框:

protectedvoidGridView1_RowCreated(objectsender,GridViewRowEventArgse)
{
if(e.Row.RowType==DataControlRowType.Header)//是否是表头行
{
TableCellCollectiontcl=e.Row.Cells;//获得表头元素的实例
inti=1;
foreach(TableCellitemintcl)
{
stringHeadText=item.Text;//本来datatable的表头的自内容
DropDownListdro=newDropDownList();//创建表头下拉框
dro.ID="dro"+i.ToString();//表头ID
dro.Items.Insert(0,newListItem("--请选择--","-1"));
dro.Items.Add(newListItem("数学","0"));
dro.Items.Add(newListItem("语文","1"));
dro.Items.Add(newListItem("英语","2"));

item.Controls.Add(dro);//添加下拉框控件

Labellab=newLabel();
lab.ID="lab"+i.ToString();
lab.Text="</br>"+HeadText;
item.Controls.AddAt(1,lab);//此刻表头单元格已有下拉框的label控件
i++;
}
}

}

多标题:

protectedvoidGridView2_RowCreated(objectsender,GridViewRowEventArgse)
{
if(e.Row.RowType==DataControlRowType.Header)
{
TableCellCollectiontcHeader=e.Row.Cells;
tcHeader.Clear();

tcHeader.Add(newTableHeaderCell());
tcHeader[0].ColumnSpan=4;//合并第一行的4列
tcHeader[0].Text="截止到今日还有";
tcHeader[0].Text+="<strong>"+1111+"</strong>";
tcHeader[0].Text+="天</th></tr><tr>";

tcHeader.Add(newTableHeaderCell());
tcHeader[1].Style.Add("color","#004274");
tcHeader[1].Style.Add("height","30px");
tcHeader[1].ColumnSpan=2;
tcHeader[1].Text="姓名";
tcHeader.Add(newTableHeaderCell());
tcHeader[2].Style.Add("color","#004274");
tcHeader[2].Style.Add("height","30px");
tcHeader[2].ColumnSpan=2;
tcHeader[2].Text="密码</th></tr><tr>";
}
}