c# fill a datagrdview and text box from 2 tables

I have a counter that is retuned to a Main form and i would like to populate a datagridvierw and a text box resulting from this counter with results from 2 tables (Customer and contact tables), how can i do this? is it possible? Currently i have a view (vwCustomersandContacts that has customer names, address and the contacts for that customer) that returns me the records that is = to counter but its causing me a headache when trying to delete a row from the datagridview so i though if i use a table instead of a view would be simplier
using (frmSearchCustomer form = new frmSearchCustomer())
            {
                if (form.ShowDialog() == DialogResult.OK)
                {
                    System.Data.SqlClient.SqlConnection cnn = new System.Data.SqlClient.SqlConnection();
                    conn = new SqlConnection(@"Data Source=<SQLInstance;Initial Catalog=<Database>;Integrated Security=True");
                    comm = new SqlCommand("SELECT * FROM vwCustomersandContacts WHERE CustomerCounter = " + form.Counter + "");
                    da = new SqlDataAdapter();
                    ds = new DataSet();
                    comm.Connection = conn;
                    da.SelectCommand = comm;
                    datagridview1.AutoGenerateColumns = false;
                    //Datagridview1 column1
                    var col1 = new DataGridViewColumn();
                    col1.DataPropertyName = "FirstName";
                    col1.Name = "First Name";
                    var cell1 = new DataGridViewTextBoxCell();
                    col1.CellTemplate = cell1;
                    datagridview1.Columns.Add(col1);
                    //Datagridview1 column2
                    var col2 = new DataGridViewColumn();
                    col2.DataPropertyName = "LastName";
                    col2.Name = "Last Name";
                    var cell2 = new DataGridViewTextBoxCell();
                    col2.CellTemplate = cell2;
                    datagridview1.Columns.Add(col2);
                    //Datagridview1 column3
                    var col3 = new DataGridViewColumn();
                    col3.DataPropertyName = "Telephone";
                    col3.Name = "Telephone";
                    var cell3 = new DataGridViewTextBoxCell();
                    col3.CellTemplate = cell3;
                    datagridview1.Columns.Add(col3);
                    //Datagridview1 column4
                    var col4 = new DataGridViewColumn();
                    col4.DataPropertyName = "Mobile";
                    col4.Name = "Mobile";
                    var cell4 = new DataGridViewTextBoxCell();
                    col4.CellTemplate = cell4;
                    datagridview1.Columns.Add(col4);
                    //Datagridview1 column5
                    var col5 = new DataGridViewColumn();
                    col5.DataPropertyName = "Department";
                    col5.Name = "Department";
                    var cell5 = new DataGridViewTextBoxCell();
                    col5.CellTemplate = cell5;
                    datagridview1.Columns.Add(col5);
                    //Datagridview1 column6
                    var col6 = new DataGridViewColumn();
                    col6.DataPropertyName = "Position";
                    col6.Name = "Position";
                    var cell6 = new DataGridViewTextBoxCell();
                    col6.CellTemplate = cell6;
                    datagridview1.Columns.Add(col6);
                    //Datagridview1 Column7
                    var col7 = new DataGridViewColumn();
                    col7.DataPropertyName = "VIP";
                    col7.Name = "VIP";
                    var cell7 = new DataGridViewTextBoxCell();
                    col7.CellTemplate = cell7;
                    datagridview1.Columns.Add(col7);
 
                    da.Fill(ds);
                    datagridview1.DataSource = ds.Tables[0];
 
                    System.Data.SqlClient.SqlDataAdapter recordAdp = new System.Data.SqlClient.SqlDataAdapter();
                    conn.Open();
                    recordAdp.SelectCommand = comm;
                    SqlDataReader reader = comm.ExecuteReader();
                    while (reader.Read())
                    {
                        txtCustomerName.Text = (String)reader["CustomerName"];
                        txtCustomerAddress.Text = (String)reader["Address"];
                        txtPostCode.Text = (String)reader["postCode"];
                        txtCustomerTel.Text = (String)reader["MainTelephone"];
                        txtProduct.Text = (String)reader["Product"];
                    }
 
                    reader.Close();
                    comm.Dispose();
                    cnn.Close();
 
 
                }
            }

Open in new window

wilko100Asked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
williamcampbellConnect With a Mentor Commented:
I noticed you datagridview1 doesn't have a DataMember

datagridview1.DataMember = "";

Here is an article that might help

http://www.akadia.com/services/dotnet_databinding.html

A little more explanation of what is going wrong would be good.
0
 
wilko100Author Commented:
Excellent, just what i was looking for. Thanks
0
All Courses

From novice to tech pro — start learning today.