[英]C# Commit changes in DataGridView to DataTable
我需要一个带有一个DataGridView表单和一个DataTable的代码或项目示例,以便我可以编辑DataGridView单元格,然后将所有更改自动提交到DataTable中。 另外,如何以其他方式手动创建带有DataGridView相同列的DataTable?
我尝试手动创建具有相同列的DataGridView和DataTable,然后设置DataGridView.DataSource = DataTable, 但是保存到表中的数据为空 (无论如何,新行数都是正确的,但是值无效)。
试图用Google搜索它-所有示例和问题都是关于将数据存储到数据库中的,但是我不需要数据库,我只需要一个简单的DataTable和DataGridView绑定。
谢谢!
无法从DataGridView
列自动创建表( 编辑以进行优化:有多种方法可以自动创建数据库结构-ORM在这里是一个很好的关键字-但我想那不是您所需要的)。 另一种方法则很好:创建表并将其分配给DataGridView
作为其数据源。 然后,网格应显示相应的列。
仅当您“告知”列(它们与基础表的哪个字段相关)时,才能“存储”数据表中的值。 即:您需要创建表列(它具有名称),并且在创建DataGridView
列时,需要将列名称分配给该列的DataPropertyName
属性。
最简单的方法:创建类型化的数据集(使用“添加到项目”对话框来添加新的“数据集”),在数据集的设计器中手动创建表格,将数据集的实例拖到表单上并将其分配为数据源到您的DataGridView
。 其他所有内容应自动出现。
如果将DataTable设置为dataGridView的数据源,则dataGridView中的内容将反映DataTable中的数据,反之亦然。 因此,如果您对dataGridView进行更改,则这些更改已在DataTable中。
将DatagridView
转换为DataTable
。
在C#.NET中:
DataTable dt = ((DataView)this.dataGridView1.DataSource).Table;
VB.NET:
Dim dt As DataTable = CType(Me.dataGridView1.DataSource,DataView).Table
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.