C# 网格视图编辑并保存到数据库Winform

C# 网格视图编辑并保存到数据库Winform,c#,winforms,gridview,devexpress,C#,Winforms,Gridview,Devexpress,对于windows应用程序,我有一个带有gridview的窗体。在表单中,我有一个编辑按钮。如果用户选择一行并单击“编辑”,则必须将所选数据重定向到另一个表单。然后,用户可以在其中输入详细信息。当用户单击“保存数据”时,它应该保存并返回数据库 FIRSTListForm private void btnNewFIRSTList_ItemClick(object sender, ItemClickEventArgs e)` { FIRSTEditForm FIRSTEditForm =

对于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();
}

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


如果要打开一个单独的表单,则需要类似于

的内容。如果要将数据集与winforms一起使用,则可以尝试: 1首先检查gridview是否有任何选定行

if (gridView1.SelectedRowsCount > 0)
   {
         ......
   }
2如果使用强名称DataRow类和BindingSource.Current时出现这种情况:

试试看,先生

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中,使用Get ID并绑定所有控件并保存到数据库

我使用gridView\u双击而不是btnEditFIRSTList\u ItemClick


希望它能解决

如果用户选择一行并单击编辑,它必须重定向到另一个表单,我不知道该向编辑中写入什么button@user3117239:如果您正在谈论打开一个新表单,您只需在编辑按钮单击事件中调用您的新表单。比如:YourNewFormName newForm=newyournewformname;newForm.ShowDialog;你应该编辑你的问题,并在其中粘贴你的评论。这样人们就可以很容易地理解你需要做什么,并能帮助你。评论部分看起来很复杂。请用详细信息更新您的问题。这可能会帮助人们帮助你!你能发布你到目前为止尝试过的吗?因为我从你的问题和评论中理解了你的问题,你应该更新你的问题标题。这听起来不是你需要的。比如如何在datagridview中使用新表单编辑选中的行
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();
}