DataGridView更新
我在C#中使用2005 Windows窗体。我只在这工作了一天,所以请容易。DataGridView更新
我想要一个提交按钮,保存对DataGridView的更改。我已将数据导入DGV并可进行编辑,但卡在Update()上。
我创建了名为scDB的.xsd和一个名为 - SSIS Configurations Staging的DataTable。然后我添加了一个带有参数的新查询。
这里是我到目前为止的代码:
//Declared at top of form class
scDBTableAdapters.SSIS_Configurations_StagingTableAdapter myStagingTableAdapter = new scDBTableAdapters.SSIS_Configurations_StagingTableAdapter();
//After a form event
stagingGrid.DataSource = myStagingTableAdapter.GetDataBy(filterName.Text.ToString());
//On Submit click:
myStagingTableAdapter.Update(?What Goes Here?);
什么获取传递给Update方法?我知道它需要一个dataTable,但我不知道如何引用GridView中的内容。在大多数代码示例中,人们定义了DataTable - 但我不知道。我认为这是在创建TableAdapter时幕后完成的。谢谢您的帮助。
山姆,
更新需要一个表,所以你可以尝试这样的:
TableType table = (TableType) stagingGrid.DataSource;
myStagingTableAdapter.Update(table);
这里您可以有适当的东西来代替TABLETYPE。
但是更好的方法是使用拖放功能并从代码中学习。
- 选择数据|查看数据源。您的 数据集应该在 数据源窗口中可见。
- 将一个表格拖到 一个(新)表格。 VS2005将增加一个零件的加载 和几行 的代码。
表单现在将有一个数据集的实例,这是Adapter.Fill和.Update方法的参考点。
桌面适配器上的更新需要数据集。
您需要实例化一个SCDB的DataSet用表,更新表,并调用更新为表适配器。
是的,但我没有定义任何这一点,我怎么能找到它是什么c alled?如果我尝试使用scDB,它告诉我这是一种类型......这是有道理的。 – Sam 2009-02-13 23:34:03
如果您已将适当的TableAdapter配置为使用指定的DataTable(右键单击TableAdapter部分并选择“Configure ...”),您将拥有多种选项。
我自己的DataTable这样做后,我能够通过
- 强类型的DataTable
- 的DataSet
- 的DataRow的DataRow()更新 - 数据行的数组,如果多个需要更新
- 个人列(如果你有独特的关键将行连接到)
是的,这工作,但我会尝试你所提到的。谢谢。 – Sam 2009-02-13 23:48:53