gpt4 book ai didi

c# - 无法编辑我的 C# DataGridView 中的任何列 - 有人知道为什么吗?

转载 作者:太空狗 更新时间:2023-10-30 00:57:57 24 4
gpt4 key购买 nike

我正在尝试为我的 DataGridView 中的多个列启用编辑。现在,在任何人提出建议之前,我应该阅读 MSDN article: How to: Specify the Edit Mode for the Windows Forms DataGridView Control ,我已经有了。

总结(我引用):

  • 底层数据源支持编辑。
  • DataGridView 控件已启用。
  • EditMode 属性值不是 EditProgrammatically。
  • 单元格、行、列和控件的 ReadOnly 属性都设置为 false。

所有这些都是简单的常识。我已经确认 Enabled = true。我已经确认 EditModeEditOnKeystrokeOrF2 我已经确认所有列(除了一列)都是 ReadOnly = false

我觉得有趣的是第一行:-

The underlying data source supports editing.

现在,我正在做的是将数据绑定(bind)到 DGV:-

// Grab all the Foos.
var foos = (from x in MyRepository.Find()
select new
{
x.Foo1,
x.Foo2,
...
x.FooN
}).ToList();

// Now lets bind this result to the GridView.
dataGridView2.DataSource = foos;

我认为这是正确的做事方式..

我计划做的是,当单元格被更改并且用户随后离开单元格时,我正计划在此处获取刚刚更改的数据(手动计算)然后手动更新数据库。

这是做事的正确方法吗?

最佳答案

在这种情况下,底层数据源不支持编辑,因为匿名类型的属性是只读的。根据 C# 语言规范:

The members of an anonymous type are a sequence of read-only properties inferred from the anonymous object initializer used to create an instance of the type.

相反,您可能希望为要显示的值定义一个具有可编辑属性的显示类,并创建该类的实例。

关于c# - 无法编辑我的 C# DataGridView 中的任何列 - 有人知道为什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4004311/

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