Нажав кнопку на форме 1, она отобразит форму 2 с деталями вида сетки. - PullRequest
0 голосов
/ 04 июня 2018

Когда я открываю сетку вида form2, он отображается пустым, поскольку он уже содержит некоторые детали, для этого нужно нажать кнопку «Добавить» на форме Form2, чтобы показать детали сетки.кнопки на форме2.Я написал код ниже, но я хочу улучшить код. Пожалуйста, помогите в форме 2 Нажмите кнопку ДОБАВИТЬ Я написал этот код: -

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];
}

Нажмите кнопку формы 1, я написал ниже код:

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

1 Ответ

0 голосов
/ 04 июня 2018

Что вы можете сделать, это добавить параметр в свой класс Customers.

инициализировать набор данных в вашей форме form1, передать его конструктору класса customer.и вуаля, у вас есть доступный набор данных, как только вы открываете форму

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...