先看官方的话
- Caption 获取或设置列的标题。
- ColumnName 获取或设置 DataColumnCollection 中的列的名称。
对大多数人来说,看了这个还是很头大,我们只需要关注两个词“标题”、“名称”。
- 标题是显示的名称,可以随便改的,不影响数据。如果没有设置 Caption,那么其值就是 ColumnName。
- 名称是列的名称,就像字段的名称,改了的话:增、删、改、查记录时,对应的列名称也要改。
举例说明
DataView dv = new DataView(new DataTable("myTable"));
dv.Table.Columns.Add("myName");
DataRow dr = dv.Table.Rows.Add();
dv.Table.Columns[0].Caption = "newName"; // 若省略这句,则 Caption 等于 ColumnName
dr["myName"] = "yes";
上述代码是正确的,但下面的代码就有问题了:
DataView dv = new DataView(new DataTable("myTable"));
dv.Table.Columns.Add("myName");
DataRow dr = dv.Table.Rows.Add();
dv.Table.Columns[0].ColumnName = "newName";
dr["myName"] = "yes"; // 报错。这里 myName 应该换成 newName。