Передача данных одной формы другой форме datagridview

У меня есть платежная форма с datagridview. Эта форма содержит кнопку Обновить последний счет, которая открывает новое окно с просьбой ввести номер счета. I’M получение значений на основе номера счета и хотите отобразить его в другой форме. Как передать табличные значения из одной формы в другую формы 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.

1 ответ

  1. Если я правильно понял ваш вопрос, вы хотите перенести данные из вашей childform обратно в вашу Mainform. Для этого можно использовать, например, свойство на дочерней форме (существует множество возможных решений). Это будет выглядеть sth. вроде этого:

    //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
        }
    }
    

    Это должно помочь вам.