我正在尝试将DataTable绑定到DataGridView,如下所示;
DataTable table = new DataTable();
foreach (ConsumerProduct c in ctx.ConsumerProducts)
{
DataRow row = table.NewRow();
row["Id"] = c.ID;
row["Model"] = c.Model;
row["Status"] = "Offline";
table.Rows.Add(row);
}
dataGridView1.DataSource = table;
我在第一行row["Id"]
专栏' Id'不属于桌子。
P.S。我已经在dataGridView的设计器视图中添加了这些列。
答案 0 :(得分:1)
您刚刚创建了一个空白DataTable
,然后您尝试将数据添加到特定列,例如Id
,Model
和Status
。
您还必须添加这些列。
DataTable table = new DataTable();
table.Columns.Add("Id");
table.Columns.Add("Model");
table.Columns.Add("Status", typeof(string)); //with type
招架没有问题。
您还可以将所需列投影为匿名类型,然后将其绑定到数据网格,如:
var result = ctx.ConsumerProducts
.Select(r=> new
{
Id = r.ID,
Model = r.Model,
Status = "Offline"
}).ToList();
dataGridView1.DataSource = result;