【问题标题】:adding the details in one form and details will be updated in another form在一种形式中添加详细信息,详细信息将在另一种形式中更新
【发布时间】:2011-08-19 03:03:19
【问题描述】:

我有两个表单.. form1 中的 form1 和 form2 我有三列的 gridview,在 form2 中我有两个按钮一个是添加按钮,第二个是更新按钮,我有三个文本框...

如果我们单击 form1 中的任何网格视图列,我已经这样做了,那么表单 2 将显示为带有填充网格视图行值的文本框..

现在我需要使用表单 2 中的此添加按钮向 gridview 添加另一行 .. 所以当我填写文本框并单击添加按钮时,表单 2 将被关闭,并且表单 1 网格视图会自动更新这些详情...

我正在使用 winforms 应用程序并使用 linq 来进行数据库操作..

任何想法请......这样做......

【问题讨论】:

  • 似乎很尴尬,除非我没有得到什么;为什么需要两种形式?我假设这是一个 MDI 应用程序,不是吗?使用 1 Form 并使用拆分器有什么问题,或者将表单分成两个面板并根据需要隐藏“form 2”?
  • @gangelo 它不是 mdi 应用程序,我需要两个表单 .. 像电子商务应用程序这样 .. 如果您单击任何购物产品图像,则会打开另一个表单,其中包含特定的购物产品...以及详细信息..我需要这样的东西...

标签: c# .net winforms datagridview


【解决方案1】:

在 form2 中为 AddRow 声明事件,在 form1 中订阅该事件,当在 form2 上单击按钮并且必须添加新行时,form2 会引发该事件,因此 form1 会处理它并将其显示在 DataGrid 上。

您可以在此处找到事件实现教程:

http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx

【讨论】:

  • 从手机上写,所以不是现在,但是点击链接你会发现很多。
【解决方案2】:

如果我理解您的问题,您需要执行以下操作:

  1. 您需要为“添加”按钮创建一个单击事件,该事件会将新记录添加到您的数据库中。
  2. 添加记录后,您可以关闭表单,并在关闭表单时刷新 Form1 中的数据网格。

我在我的几个应用程序中做了类似的事情。在 Form1 上打开 Form2 时,您可以创建如下内容:

private void ShowForm2()
{
    DialogResult addResult = new Form2().ShowDialog();

    if (addResult == DialogResult.OK)
    {
        //your code to populate your datagrid
    }
}

然后在 Form2 上单击添加按钮

private void AddRecordButton_Click(object sender, EventArgs e)
{
    try
    {
       // code to add the record to your database
       //then use the DialogResult   OK
       DialogResult = DialogResult.OK
    }
    catch
    {
       //if it fails set DialogResult to Abort
       DialogResult = DialogResult.Abort
    }

}

【讨论】:

  • 哦,好吧..我需要为form2添加点击事件处理程序,所以当我点击添加按钮时,它会自动更新form1中的gridview...对吗???
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-23
  • 1970-01-01
  • 2010-12-06
  • 1970-01-01
  • 1970-01-01
  • 2019-11-11
相关资源
最近更新 更多