Ale*_* P. 14 .net c# datacolumn
我正在尝试创建一个DataTable并将其绑定到DataGridView.它工作,但我不能通过Caption属性设置列标题.它使用ColumnName("城市")显示标题.MSDN说
"您可以使用Caption属性显示DataColumn的描述性或友好名称."
这是我的代码:
DataColumn dc = new DataColumn("City", typeof(string));
dc.Caption = "?????";
DataTable dt = new DataTable();
dt.Columns.Add(dc);
DataRow row = dt.NewRow();
row["City"] = "Moscow";
dt.Rows.Add(row);
datagridview.DataSource = dt;
Run Code Online (Sandbox Code Playgroud)
aqu*_*nas 24
好吧,MSDN是对的.这就是Caption房产的用途.但是,这并不意味着控制制造商必须使用标题属性.在这种情况下,微软没有这样做(虽然他们真的应该这样做).您可以将代码修改为:
///snip
dataGridView1.DataSource = dt;
foreach (DataGridViewColumn col in dataGridView1.Columns) {
col.HeaderText = dt.Columns[col.HeaderText].Caption;
}
Run Code Online (Sandbox Code Playgroud)
我认为当您绑定到 DataTable 时,DataGridView 不使用 Caption 属性。它仅在绑定到数据集时才有效。
您可以像这样手动修改列标题:
dataGridView.Columns[i].HeaderText = dt.Columns[i].Caption;
Run Code Online (Sandbox Code Playgroud)