前台:
<div>
标题控件:<br /> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowCreated="GridView1_RowCreated"> <Columns> <asp:BoundField DataField="M_Name" HeaderText="名称" /> <asp:BoundField DataField="M_ID" HeaderText="字段ID" /> </Columns> </asp:GridView> <br /> 多标题:<br /> <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" OnRowCreated="GridView2_RowCreated"> <Columns> <asp:BoundField DataField="M_ID" HeaderText="字段ID1" /> <asp:BoundField DataField="M_ID" HeaderText="字段ID" /> <asp:BoundField DataField="M_Name" HeaderText="名称" /> <asp:BoundField DataField="M_Name" HeaderText="名称1" /> </Columns> </asp:GridView> </div>后台绑定:
private void bing()
{ string sql = "select M_ID,M_Name from Module"; DataTable dt = new DataTable(); dt = DBArticle.RunSqlDt(sql); GridView1.DataSource = dt.DefaultView; GridView1.DataBind(); GridView2.DataSource = dt.DefaultView; GridView2.DataBind(); }
在表头添加下拉框 :
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{ if (e.Row.RowType == DataControlRowType.Header)//是否是表头行 { TableCellCollection tcl = e.Row.Cells;//获得表头元素的实例 int i = 1; foreach (TableCell item in tcl) { string HeadText = item.Text;//本来datatable的表头的自内容 DropDownList dro = new DropDownList();//创建表头下拉框 dro.ID = "dro" + i.ToString();//表头ID dro.Items.Insert(0, new ListItem("--请选择--", "-1")); dro.Items.Add(new ListItem("数学","0")); dro.Items.Add(new ListItem("语文", "1")); dro.Items.Add(new ListItem("英语", "2"));item.Controls.Add(dro);//添加下拉框控件
Label lab = new Label();
lab.ID = "lab" + i.ToString(); lab.Text = "</br>" + HeadText; item.Controls.AddAt(1, lab);//此刻表头单元格已有下拉框的label控件 i++; } }}
多标题:
protected void GridView2_RowCreated(object sender, GridViewRowEventArgs e)
{ if (e.Row.RowType == DataControlRowType.Header) { TableCellCollection tcHeader = e.Row.Cells; tcHeader.Clear();tcHeader.Add(new TableHeaderCell());
tcHeader[0].ColumnSpan = 4;//合并第一行的4列 tcHeader[0].Text = "截止到今日还有"; tcHeader[0].Text += "<strong>" + 1111 + "</strong>"; tcHeader[0].Text += "天</th></tr><tr>";tcHeader.Add(new TableHeaderCell());
tcHeader[1].Style.Add("color", "#004274"); tcHeader[1].Style.Add("height", "30px"); tcHeader[1].ColumnSpan = 2; tcHeader[1].Text = "姓名"; tcHeader.Add(new TableHeaderCell()); tcHeader[2].Style.Add("color", "#004274"); tcHeader[2].Style.Add("height", "30px"); tcHeader[2].ColumnSpan = 2; tcHeader[2].Text = "密码</th></tr><tr>"; } }