【问题标题】:Passing one forms data to another forms datagridview将一个表单数据传递给另一个表单 datagridview
【发布时间】:2017-06-01 01:41:26
【问题描述】:

我有一个带有 datagridview 的帐单表单。此表单包含更新最后账单按钮,该按钮打开一个新窗口,要求输入账单编号。我正在根据账单编号获取值,并希望以另一种形式显示它。如何将表格值从一个表单传递到另一个表单 datagridview?

SqlConnection con = new SqlConnection(CS);
                    con.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM POS WHERE Bill_No=@Billno", con);
da.SelectCommand.Parameters.AddWithValue("@Billno", txt_EnterBillNoPOS.Text);

我想存储这个结果并在另一个表单 datagridview 中显示它。

【问题讨论】:

  • 任何相关代码都会对您最有帮助...
  • 我已经更新了代码。
  • 您基本上可以通过在目标表单中拥有一个公共属性并将其从您的主/调用者表单分配给您的数据表来做到这一点。但如果没有进一步的细节,很难准确指出你哪里弄错了。
  • 您是否将这些数据读入 DataTable 中?
  • 是的。我的问题是..我有一个带有 datagridview 的表单。另一个带有文本框和更新按钮的表单。我想在文本框中获取账单编号,当我按下更新时,我想根据账单编号从数据库中获取值并将其显示在另一个表单 datagridview 中。

标签: c# sql-server windows winforms visual-studio


【解决方案1】:

如果我以正确的方式理解您的问题,您希望将数据从子窗体传输回主窗体。为此,您可以在子窗体上使用属性,例如(有许多可能的解决方案)。这看起来像。像这样:

//Your third Form filled with billdata from second Form.
public class ThirdForm : Form
{       
   public ThirdForm(DataTable billData)
   {
      InitializeComponent();
      yourGrid.DataSource = billData;
   }
}

//Your secondform fetch the data and start the thirdform
public class SecondForm : Form
{        
   private void OnUpdateButton_Clicked(object sender, EventArgs e)
   {
      SqlConnection con = new SqlConnection(CS);
                              con.Open();
      SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM POS WHERE Bill_No=@Billno", con);
      da.SelectCommand.Parameters.AddWithValue("@Billno", txt_EnterBillNoPOS.Text);

       DataTable result = new DataTable();
       da.Fill(result); //Fill your Table with data

       //Here you pass the data via Constructor
       var thirdForm = new ThirdForm(result);
       thirdForm.Show();
    }
}

//The firstform which starts your flow by activating secondform
public class FirstForm : Form
{   
    private void OnUpdateLastButton_Clicked(object sender, EventArgs e)
    {
       var childForm = new SecondForm();
       childForm.Show(); //Shows the second form
    }
}

这应该对你有帮助。

【讨论】:

  • 这些只是两种形式。我的问题是..我有一个带有 datagridview 的表单。另一个带有文本框和更新按钮的表单。我想在文本框中获取账单编号,当我按下更新时,我想根据账单编号从数据库中获取值并将其显示在另一个表单 datagridview 中。
  • @Abhijith 您所说的“另一种形式”是指第三种形式还是第三种形式?
  • 有3种形式。第一个表格包含销售点详细信息。在那我添加了一个按钮来更新最后的账单销售。所以我添加了第二个表格来获取账单号。它包含一个更新按钮。我还有一种第三种形式,其中包含网格视图。因此,当我们以 2nd form 输入帐单编号并按更新基于 2nd form 帐单编号的详细信息时,应以 3rd forms datagridvirew 显示。这是我的主意。希望你明白了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-26
  • 1970-01-01
相关资源
最近更新 更多