2016-09-25 128 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 –