您可以AutoGenerateColumns
属性值设置为false
,这将防止从数据源生成列使用DataGrid和DataTemplate中。然后添加你想要的列DataGridView
,然后设置列到你的数据源中的列名的DataPropertyName
属性(例如,如果DataTable
对象 - 设置DataTable
列名[要显示])例如:
dataGridView1.AutoGenerateColumns = false;
dataGridView1.Columns.Add("Col1", "Column1");
dataGridView1.Columns.Add("Col2", "Column2");
dataGridView1.Columns.Add("Col3", "Column2");
. . .
dataGridView1.Columns["Col1"].DataPropertyName = "Col1NameFromSource";
dataGridView1.Columns["Col2"].DataPropertyName = "Col2NameFromSource";
dataGridView1.Columns["Col3"].DataPropertyName = "Col3NameFromSource";
. . .
然后,只需绑定的源DataGridview
的DataSource
DataTable table = /*Your "LINQ-to-SQL" query;*/
dataGridView1.DataSource = table;
假设,你table
包含Col1NameFromSource
,Col2NameFromSource
,Col3NameFromSource
。
来源
2017-09-14 13:06:18
SeM
修改您的选择查询(命令文本)。如果要更改列名称,请使用“列1作为ABC”。而不是使用*引用你想要的列名。星号正在引入所有列。 – jdweng
这是我正在使用的LINQ查询。 “as”不是有效的LINQ查询关键字。 –
那么您可以更改为使用SQL查询并使用DataAdapter将结果放入DataTable中。 Linq始终是最好的解决方案。 – jdweng