c# - 带有可更新数据源的 C# DataGridView
问题描述
我有一个 DataGridView 和多个包含数据的对象,每次在选择其中一个对象之间切换时,我想填充 DataGridView。我还想在每次编辑 DataGridView 时更新这些对象中的数据。
DataGridView 已经有预定义的列,其中一些是 ComboBox 列。
说我有
public class OB()
{
public DataTable data { get; private set; } = new DataTable();
}
obj1 = new OB();
obj2 = new OB();
.
.
.
public void some_selection_event(object s, EventArgs e)
{
dataGridView1.DataSource = ((OB)s).data;
}
如果我编辑dataGridView1
while obj1.data
is bound to its ,然后在再次绑定回DataSource
它之前将其他东西绑定到它,表明它只记得我在编辑它时它所拥有的行数bound to its ,并且单元格中的数据是丢失,每个单元格都是空的。obj1.data
dataGridView1
obj1.data
DataSource
有没有一种方法可以轻松地将 DataSource 映射到 DataGridView 然后自动更新,或者我在这里遗漏了什么?
解决方案
如果您已Columns
在 中预定义,请DataGridView
使用DataGridView.DataPropertyName
以确保DataSource
和DataGridView
都在处理相同的数据。
推荐阅读
- amazon-web-services - AWS athena - 获取最新时间戳的唯一设备行数据
- apache - 图像大小调整脚本的 url 重写问题
- c++ - 在不使用资源 DLL 的情况下将第二种语言添加到 MFC 项目
- jpa - 集成测试,比较 JPA 实体
- hazelcast - 添加新集群节点时删除 Hazelcast Map 中的成员
- javascript - BotFramework-WebChat 用占位符替换聊天头像
- ruby-on-rails - 嵌套表单中不允许的参数嵌套表单
- android - 仅实现 TabLayout 而不是完全支持:Android gradle 中的设计
- android - 什么工具可以更好地创建带有数据库、按钮、表单的移动应用程序
- ruby - Ruby:在 Sinatra 中显示 SNMP 输出