【问题标题】:Update database using DataGridView (selected row)使用 DataGridView 更新数据库(选定行)
【发布时间】:2016-06-02 08:17:03
【问题描述】:

我正在为自己构建一个小型 C# 应用程序,而且我不太喜欢编程(初学者),我正在寻求您的帮助。我正在使用只读的 DataGridView 来显示来自 database (MSSQL) 的一些记录,它工作正常。我想更新数据库而不使 DataGridView 可编辑或通过文本框编辑值(到目前为止我能找到的所有内容)。是否有可能根据所选行更新database?谢谢。

【问题讨论】:

  • 如果 DataGridView 是只读的,您不想使用文本框来更改行,您打算如何更改该行?如果您不更改行,则无需更新任何内容。
  • @Steve - database 中有一个布尔列,我想根据所选行从 True 更新到 False...
  • 使用datagridview的SelectionChanged事件调用查询?如果您只更新一列,那应该是最好的方法。
  • 仍然完全不清楚。所以有一列的布尔值为 (IE False) ,现在你想对底层行做什么?将值更改为 True?如果是,什么时候?只需单击该行即可将值更改为相反的值(True->False,False->True)?或者你想要一个按钮来单击并反转选定行的值?
  • @Steve - 否。仅通过单击按钮从 True 更新到 False

标签: c# sql-server winforms datagridview readonly


【解决方案1】:

我的情况是 DataGrid 是只读的,不可编辑并通过以下方式使用选定的值,

这不是 WinForm 代码,而是 WPF 代码,您可能会遵循这个想法。为什么不使用 WPF 而不是 WinForm?
希望这会有所帮助..

private void button_Click(object sender, RoutedEventArgs e)
{
 if (yourdatagrid.SelectedItem != null)
  {
   object item = yourdatagrid.SelectedItem;
   string record= (yourdatagrid.SelectedCells[0].Column.GetCellContent(item) as TextBlock).Text;

   // your SQL Update code with selected values here
   // and you need to re-load values from database to DataGrid to be shown updated
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    相关资源
    最近更新 更多