【问题标题】:Grid view Edit and save to database Winform网格视图 编辑并保存到数据库 Winform
【发布时间】:2013-12-18 23:46:16
【问题描述】:

对于 Windows 应用程序,我有一个带有 gridview 的表单。在表单中,我有一个编辑按钮。如果用户选择一行并单击编辑,它必须重定向到具有所选数据的另一个表单。然后用户可以在其中输入详细信息。当用户点击保存数据时,它应该保存并返回数据库。

FIRSTListForm

private void btnNewFIRSTList_ItemClick(object sender, ItemClickEventArgs e)`
{
    FIRSTEditForm FIRSTEditForm = new FIRSTEditForm(FIRSTID);`

    FIRSTEditForm.Show();

}

private void btnEditFIRSTList_ItemClick(object sender, ItemClickEventArgs e)
{
    //I need to know which row I selected before to Edit button

    //object IdFirst = ((GridView)sender).GetRowCellValue(e.RowHandle, "IDFIRST");

    //I need like a GetRowCellValue

    FIRSTEditForm.Show();
}

【问题讨论】:

  • 您能发布到目前为止您尝试过的内容吗?
  • 我从你的问题和 cmets 中了解到你的问题,你应该更新你的问题标题。这听起来不像你需要的。就像“如何通过在 datagridview 中使用新表单来编辑选定的行”之类的

标签: c# winforms gridview devexpress


【解决方案1】:

您需要一个保存方法将数据写回数据库并在单击保存按钮时调用它

Here is multiple examples of exactly what your wanting

如果你想打开一个单独的表单,那么你需要This之类的东西

【讨论】:

  • 如果用户选择一行并点击编辑,它必须重定向到另一个表单,我不知道在编辑按钮上写什么
  • @user3117239:如果您正在谈论打开一个新表单,您可以简单地在编辑按钮单击事件中调用您的新表单。喜欢:YourNewFormName newForm = New YourNewFormName(); newForm.ShowDialog();
  • 您应该编辑您的问题,并在其中粘贴您的评论。然后人们可以很容易地了解您需要做什么并可以帮助您。在评论部分看起来很复杂。请用详细信息更新您的问题。这可能会帮助人们帮助你!
【解决方案2】:

如果您正在使用带有 winforms 的数据集,您可以尝试:
1)首先检查您的gridview是否有任何选定的行

if (gridView1.SelectedRowsCount > 0)
   {
         ......
   }

2) 如果是这种情况,使用强命名的 DataRow 类和BindingSource.Current

 YoutDataSet.YourTableOrResultSetRow Row;
 var P = YourTableOrResultSetBindingSource.Current as DataRowView;
 Row = (P.Row as YoutDataSet.YourTableOrResultSetRow );

 int id = Row.ColumnNameThatContainstheID; //this will give you the ID you're after

【讨论】:

    【解决方案3】:

    先生,试试吧,

    private void gridView_DoubleClick(object sender, EventArgs e)
    {
            if (gridView.GetFocusedRow() == null) return;
    
            if (gridView.GetFocusedRowCellValue("ID") == null) return;
    
            string id = gridView.GetFocusedRowCellValue("ID").ToString();
    
            FIRSTEditForm frm = new FIRSTEditForm(id);
            frm.Show();
    }
    

    FIRSTEditForm 中使用获取的 ID 并绑定所有控件并保存到数据库。

    我使用gridView_DoubleClick 而不是你的btnEditFIRSTList_ItemClick

    希望能解决!

    【讨论】:

      猜你喜欢
      • 2017-10-06
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 1970-01-01
      • 2016-11-26
      相关资源
      最近更新 更多