gpt4 book ai didi

c# - 在 Linq to Entities 中编辑 DataGridView 单元格

转载 作者:行者123 更新时间:2023-12-02 21:25:45 25 4
gpt4 key购买 nike

当我使用 Linq-to-Entities 将数据库中的数据绑定(bind)到 C# 应用程序中的 DataGridView 时,我使 DataGridView 变为只读且无法编辑。

是否可以编辑DataGridView中的数据以及保存在数据库中的更改?

这是我在对第一个查询应用一些过滤后将数据绑定(bind)到 DGV 的代码:

private void ViewResults(IQueryable<Hero> viewResult)
{
dgdResult.DataSource = (from r in viewResult
select new
{
Name = r.Name,
Rarity = r.Rarity,
Speed = r.Speed,
Attack = r.Attack,
Target = r.Target
}).ToList();
}

最佳答案

这很有趣,我没有意识到它对匿名类型做到了这一点。不过很容易重现。

最简单的事情可能是在表单内创建一个仅包含您需要的字段的私有(private)类,因为您不会在其他任何地方使用它。

public partial class Form1 : Form
{
...
...

private void ViewResults(IQueryable<Hero> viewResult)
{
dgdResult.DataSource = (from r in viewResult
select new LittleHero
{
Name = r.Name,
Rarity = r.Rarity,
Speed = r.Speed,
Attack = r.Attack,
Target = r.Target
}).ToList();
}

private class LittleHero
{
public string Name { get; set; }
public string Rarity { get; set; }
public string Speed { get; set; }
public string Attack { get; set; }
public string Target { get; set; }
}
}

至于保存它,这有点广泛,取决于您使用的技术。

您可以通过转换 DataSource 轻松地从 DataGridView 取回集合。

var heroes = (List<LittleHero>)dgdResult.DataSource;

关于c# - 在 Linq to Entities 中编辑 DataGridView 单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24397280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com