通过单击form1上的按钮,它显示form2与gridview的详细信息

时间:2018-06-04 09:04:13

标签: c# winforms

当我打开form2 gridview时,它显示为空白,因为它已经包含了一些细节,它需要单击form2上的Add按钮来显示gridview的详细信息。我应该怎样做才能在form1上单击Button后立即显示视图form2上的按钮。 我写了下面的代码,但我想改进code.please帮助 在form2 ADD按钮单击我写了这段代码: -

string filename = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\Invoice System.xlsx";
string con = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source={0};Extended Properties='Excel 12.0;HDR=YES;IMEX=0;READONLY=FALSE'", filename);
using (OleDbConnection cn = new OleDbConnection(con))
{
    cn.Open();
    OleDbCommand cmd1 = new OleDbCommand("INSERT INTO [Customers$] " + "([CustomerID],[Name],[Shortcode],[Address1],[Address2],[City],[PIN],[State],[GSTIN],[Category]) " + "VALUES(@value1,@value2,@value3,@value4,@value5,@value6,@value7,@value8,@value9,@value10)", cn);
    cmd1.Parameters.AddWithValue("@value1", textBox1.Text);
    cmd1.Parameters.AddWithValue("@value2", textBox2.Text);
    cmd1.Parameters.AddWithValue("@value3", textBox3.Text);
    cmd1.Parameters.AddWithValue("@value4", textBox4.Text);
    cmd1.Parameters.AddWithValue("@value5", textBox5.Text);
    cmd1.Parameters.AddWithValue("@value6", textBox6.Text);
    cmd1.Parameters.AddWithValue("@value7", textBox7.Text);
    cmd1.Parameters.AddWithValue("@value8", textBox8.Text);
    cmd1.Parameters.AddWithValue("@value9", textBox9.Text);
    cmd1.Parameters.AddWithValue("@value10", textBox10.Text);
    cmd1.ExecuteNonQuery();
    System.Data.OleDb.OleDbDataAdapter cmd2;
    cmd2 = new System.Data.OleDb.OleDbDataAdapter("select * from [Customers$]", con);
    DataSet ds = new System.Data.DataSet();
    cmd2.Fill(ds);
    MessageBox.Show("Record saved successfully");
   dataGridView1.DataSource = ds.Tables[0];
}

在form1按钮中单击我写下面的代码:

var myForm = new Customers();
myForm.Show();

1 个答案:

答案 0 :(得分:0)

您可以做的是向您的Customers类添加一个参数。

初始化form1中的数据集,将其传递给customers类的构造函数。瞧,您打开表单的第二个数据集