如何使用匿名类型数据源对datagridview执行CRUD

时间:2014-09-23 12:17:29

标签: c# linq datagridview entity crud

我有一个datagridview。我使用linq to entity从数据库中获取数据,并将从linq返回的列表分配给datagridview的datasource属性。

private void ucRecipe_Load(object sender, EventArgs e)
{
      var v2 = (from malzeme in bshEntity.Malzemeler select new { malzeme.ID, malzeme.Kod, malzeme.Ad, malzeme.Tip}).ToList();
      dgvMaterial.DataSource = v2;
}

我想在分配给dgvMaterial.Datasource的列表上执行一些CRUD操作,然后刷新dgvMaterial。但我无法从其他方法(如按钮点击事件)到达列表(v2)。我如何从其他方法中获得该匿名类型?

1 个答案:

答案 0 :(得分:0)

您没有指定您正在使用的C#版本,因此我使用动态为您提供答案。

我正在将匿名类型转换为动态,迭代每行,然后我访问字段值,如属性。这假设您知道匿名类型中的属性名称。

this.dgvMaterial.ItemsSource = v2.ToList();

for (int i = 0; i < dgvMaterial.Items.Count; i++)
{
    var row = dgvMaterial.Items[i] as dynamic;
    var fieldOne = row.FieldOne;
    var fieldTwo = row.FieldTwo;
}

我希望这适合你。