我需要一个带有一个DataGridView Form和一个DataTable的代码或项目示例,这样我就可以编辑DataGridView单元格,然后所有更改都会自动提交到DataTable中。另外,如何使用DataGridView以相同的方式手动创建具有相同列的DataTable?
我尝试手动创建具有相同列的DataGridView和DataTable,然后设置DataGridView.DataSource = DataTable,但保存到表中的数据为空(无论如何新行数是正确的,但是值无效)。
尝试google it - 所有的示例和问题都是关于savind到DataBase的,但我不需要DB,我只需要一个简单的DataTable和DataGridView绑定。
谢谢!
答案 0 :(得分:4)
没有办法从DataGridView
列自动创建表格(编辑要改进这一点:有多种方法可以自动创建数据库结构 - ORM在这里是一个很好的关键字 - 但是我猜这不是你需要的)。另一种方法很有效:创建表并将其分配给DataGridView
作为其数据源。然后网格应显示相应的列。
“存储”数据表中的值仅在您“告知”列时才有效,这些列与它们相关的基础表的哪个字段。即:您需要创建表列(它具有名称),并且在创建DataGridView
列时,需要将列名分配给列的DataPropertyName
属性。
最简单的方法:创建一个类型化数据集(使用“添加到项目”对话框添加新的“DataSet”),在数据集的设计器中手动创建一个表,将数据集的实例拖到表单中并指定这是您DataGridView
的数据来源。其他所有内容都应自动显示。
答案 1 :(得分:1)
我希望你从codeproject这个链接可能会有所帮助:
http://www.codeproject.com/Questions/80935/save-datagrid-data-to-database
http://www.codeproject.com/Articles/12846/Auto-Saving-DataGridView-Rows-to-a-SQL-Server-Data
答案 2 :(得分:1)
如果您的DataTable被设置为dataGridView的DataSource,则dataGridView中的内容将反映DataTable中的数据,反之亦然。因此,如果对dataGridView进行更改,则这些更改已经在DataTable中。
答案 3 :(得分:-1)
将DatagridView
转换为DataTable
。
在C#.NET中:
DataTable dt = ((DataView)this.dataGridView1.DataSource).Table;
VB.NET:
Dim dt As DataTable = CType(Me.dataGridView1.DataSource,DataView).Table