GridView綁定 動態(tài)生成的Datatable 如何在顯示出DataColumn的Caption 100分求思路 頂者有分 必結(jié)貼
動態(tài)生成列
C# codeDataTable dt = new DataTable(); foreach (var i in subitem) //動態(tài)構(gòu)造表結(jié)構(gòu) { DataColumn col = new DataColumn(); col.DataType = typeof(string); col.Caption = i.SubItemName; //顯示的列名稱 col.ColumnName = i.SubItemID.ToString(); // 列主鍵 dt.Columns.Add(col); } DataRow dr = dt.NewRow(); //添加一行數(shù)據(jù) foreach (var p in List<ent>) { dr[p.SubItemID.ToString()] = p.Value; //根據(jù)列主鍵 賦值 }
以上是大致的構(gòu)造Datatable 過程
現(xiàn)在問題是 綁定到GridView后 那么標題 就只會顯示ColumnName 而不會顯示出DataColumn 里的 Caption 有什么辦法能綁定呢
------解決方案--------------------http://forums.asp.net/t/1460548.aspx/1
------解決方案--------------------C# code DataTable dt = new DataTable(); //創(chuàng)建表頭 dt.Columns.Add("aaa", typeof(string)); dt.Columns.Add("bbb", typeof(string)); //添加數(shù)據(jù) DataRow dr; dr = dt.NewRow(); dr[0] = "123"; dr[1] = "456"; dt.Rows.Add(dr); GridView1.DataSource = dt; GridView1.DataBind();
------解決方案--------------------
<asp:GridView ID="gridview" runat="server" AutoGenerateColumns="false" >
<Columns>
<asp:BoundField DataField="caption" headerText="Caption"/>
</Columns>
</asp:GridView>
------解決方案--------------------
沒看清問題所在!
GridView綁定table列名似乎只能是ColumnName,
要顯示Cation好像不能使用GridView,直接循環(huán)table:
for (int i = 0; i < dt.Columns.Count; i++)
{
Response.Write(dt.Columns[i].Caption.ToString() + " ");
}
------解決方案--------------------
你單獨設(shè)置 GridView 的 HeaderRow 為 Caption
或者在RowDataBind中設(shè)置