DataTable不绑定列标题

时间:2015-05-23 21:19:35

标签: c# .net winforms

我的问题几乎与此问题相同:Why DataColumn.Caption doesn't work?

但在那里,他手动创建了他的DataTable,而在我的情况下,我通过带有连接字符串的OleDbConnection将它绑定到Access数据库。在该数据库中,我为表的每一列设置了标题,以便我只能执行以下操作:

DataTable t = cnn.Consulta(sSQL); //returns a DataTable with a string SQL select query.
DataGridView dg = new DataGridView();

dg.DataSource = t;
int i = 0;
string caption;

foreach (DataGridViewColumn cln in dg.Columns)
{
    caption = t.Columns[i].Caption;
    cln.HeaderText = caption;
    i++;
}

请注意,我的foreach块与上面提到的帖子中的解决方案基本相同,但是因为我在Access文件中直接设置了标题,而不是在代码中执行,C#保持将它绑定为列名,就好像它们是空的(???)。

现在想象一下,如果我有大量的桌子,每个桌子都有大量不具有友好名称的列?好吧,无论如何我仍然需要设置大量字幕,但这比编写300行代码将其分配给每个DataColumn更好。

除非有另一个属性我可以存储一个字符串用作标题文本,否则我会坚持这个。

0 个答案:

没有答案