2016-09-25 126 views
0

我必须在我的DataTable中添加顶行。然后,顶行的列将在下一行中分成两列。之后,我必须在DataTable中显示我的数据。目前我的DataTable显示从数据库返回的数据。我怎样才能改变我的DataTable的格式?更改DataTable的格式,为表格添加两列的列标题

当前数据表格式 enter image description here

我的新的DataTable要求 enter image description here

在这个新的DataTable我已经与列标题NEW & OLD加顶行。之后,又会有另一行新的标题,第三行会有数据。我如何从上面的DataTable中获得这个新的DataTable?请注意,DataTable是从数据库生成的。

我刚刚从点击数据库中检索数据。

protected void search_Click(object sender, EventArgs e) 
     { 
       // code blocks 
       if (dt != null && dt.Rows.Count > 0) 
       {       
        GridView1.DataSource = dt; 
        GridView1.DataBind(); 
        div_error.Visible = true; 
        DataTable_Format(dt); 
       }    
     } 
+0

你不能用'DataTable'来完成。您需要在'GridView'控件中手动创建第一个标题行。 – Fabio

+0

请让我看看演示代码。这将是很大的帮助。谢谢!!! – nischalinn

+0

检查此:[如何在网格中添加标题和子标题](http://stackoverflow.com/a/18327885/1565525) – Fabio

回答

0

您可以使用gridview的OnDataBound事件。

protected void OnDataBound(object sender, EventArgs e) 
{ 
    GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal); 
    TableHeaderCell cell = new TableHeaderCell(); 
    cell.Text = "New"; 
    cell.ColumnSpan = 4; 
    row.Controls.Add(cell); 
    cell = new TableHeaderCell(); 
    cell.ColumnSpan = 2; 
    cell.Text = "Old"; 
    row.Controls.Add(cell); 
    GridView1.HeaderRow.Parent.Controls.AddAt(0, row); 
} 
+0

我猜'GridViewRow'不是asp中的有效模块。净。请尝试一次。 – nischalinn

+0

https://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.gridviewrow(v=vs.110).aspx –