【发布时间】:2012-07-24 07:57:59
【问题描述】:
我在将 DataGridView 绑定到基于强类型数据表的 LINQ 结果时遇到问题。直接绑定到 DataTable 工作正常。工作示例:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// TODO: This line of code loads data into the 'MYDSDataSet.MYTABLE' table. You can move, or remove it, as needed.
this.MYTABLETableAdapter.Fill(this.MYDSDataSet.MYTABLE);
this.dataGridView1.DataSource = this.MYDSDataSet.MYTABLE;
}
}
使用以下行不起作用:
this.dataGridView1.DataSource = this.MYDSDataSet.MYTABLE.Select(x => x);
工作/不工作是指在第一个示例中,我的 datagridview 将自动生成数据表的所有列并向我显示所有结果。在第二个示例中,我不会收到任何错误,但我的 datagridview 将完全为空,就好像我根本没有为其分配 DataSource 一样。
根据我在本网站和其他网站上阅读的内容,我应该对我正在做的事情没有任何问题,但无论如何我都无法获得正确的结果。有任何想法吗?如果您需要更多可以提供帮助的信息,请告诉我。
Edit1:附加细节。
我尝试了以下几行,但都没有成功:
this.dataGridView1.DataSource = this.MYDSDataSet.Tables["MYTABLE"].AsEnumerable().Select(x => x);
this.dataGridView1.DataSource = this.MYDSDataSet.MYTABLE.AsEnumerable().Select(x => x);
this.dataGridView1.DataSource = this.MYDSDataSet.MYTABLE.Select(x => x).ToList();
this.dataGridView1.DataSource = from x in this.MYDSDataSet.MYTABLE select x;
上面的所有结果数据子集在调试时都包含正确的数据/行数。
我的强类型数据表是由 Visual Studio 2010 数据源向导提供的。
【问题讨论】:
-
只是为了笑,
this.dataGridView1.DataSource = this.MYDSDataSet.MYTABLE.Select(x => x).ToList();有效吗? -
不,这也没有给我任何数据。
标签: c# linq binding datagridview