首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

GridView绑定 动态生成的Datatable 怎么在显示出DataColumn的Caption 100分求思路 顶者有分 必结贴

2012-04-10 
GridView绑定 动态生成的Datatable 如何在显示出DataColumn的Caption 100分求思路 顶者有分 必结贴动态生

GridView绑定 动态生成的Datatable 如何在显示出DataColumn的Caption 100分求思路 顶者有分 必结贴
动态生成列 

C# code
DataTable dt = new DataTable();            foreach (var i in subitem)  //动态构造表结构                {                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();  //添加一行数据                            foreach (var p in List<ent>)                                {                                dr[p.SubItemID.ToString()] = p.Value; //根据列主键 赋值                                }



以上是大致的构造Datatable 过程

现在问题是 绑定到GridView后 那么标题 就只会显示ColumnName 而不会显示出DataColumn 里的 Caption 有什么办法能绑定呢


[解决办法]
http://forums.asp.net/t/1460548.aspx/1
[解决办法]
C# code
        DataTable dt = new DataTable();        //创建表头        dt.Columns.Add("aaa", typeof(string));        dt.Columns.Add("bbb", typeof(string));        //添加数据        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,直接循环table:
for (int i = 0; i < dt.Columns.Count; i++)
{
Response.Write(dt.Columns[i].Caption.ToString() + " ");
}
[解决办法]
你单独设置 GridView 的 HeaderRow 为 Caption 

或者在RowDataBind中设置

热点排行
Bad Request.