DataGridView更新

我在C#中使用2005 Windows窗体。 我只在这工作了一天,所以请放轻松。

我想要一个提交按钮,保存对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。

但更好的方法是使用拖放并从代码中学习。

  1. 选择“数据”|“查看数据源”。 您的数据集应该在DataSources窗口中可见。
  2. 将表拖到(新)表单。 VS2005将添加一组组件和几行代码。

该表单现在将具有数据集的实例,这是Adapter.Fill和.Update方法的参考点。

表适配器上的更新需要DataSet

您需要使用表实例化scDB DataSet ,更新该表并调用表适配器的Update

如果您已配置正确的TableAdapter以使用指定的DataTable(右键单击TableAdapter部分并选择“Configure …”),您将拥有各种选项。

在我自己的DataTables上执行此操作后,我可以通过更新

  • 强类型DataTable
  • 数据集
  • DataRow DataRow() – 如果多个需要更新,则为DataRows数组
  • 单个列(前提是您具有将行绑定到的唯一键)