Click here to Skip to main content
16,016,643 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
i want display 2 tables in single data gridview all tables from 1st table and 1 column from 2nd table.
i tried but there show only blank cells, not show stored data
help me, what should i do?

What I have tried:

public void disp_data()
       {

            DataTable dt = new DataTable();
           {
               SqlConnection con = new SqlConnection(strcon);
               dataGridView1.DataSource = null;
               dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
               con.Open();
               SqlCommand cmd = new SqlCommand("select id,cmpny_dtl.c_name as Name,cmpny_dtl.adrs as address,cmpny_dtl.state as state,s.State as state,cmpny_dtl.c_phone as phone,cmpny_dtl.wbsit as website" + " from cmpny_dtl join State s on s.State = s.State", con);
               SqlDataAdapter da = new SqlDataAdapter(cmd);
               da.Fill(dt);
               con.Close();
               dataGridView1.ColumnCount = 9;
               dataGridView1.Columns[0].HeaderText = "id";
               dataGridView1.Columns[0].DataPropertyName = "id";
               dataGridView1.Columns[0].Visible = false;
               dataGridView1.Columns[1].HeaderText = "Name";
               dataGridView1.Columns[1].DataPropertyName = "c_name";
               dataGridView1.Columns[2].HeaderText = "address";
               dataGridView1.Columns[2].DataPropertyName = "adrs";
               dataGridView1.Columns[3].HeaderText = "GST";
               dataGridView1.Columns[3].DataPropertyName = "GST";
               //dataGridView1.Columns[3].Visible = false;
               dataGridView1.Columns[4].HeaderText = "state";
               dataGridView1.Columns[4].DataPropertyName = "State";
               //dataGridView1.Columns[4].Visible = false;
               dataGridView1.Columns[5].HeaderText = "phone";
               dataGridView1.Columns[5].DataPropertyName = "c_phone";
               dataGridView1.Columns[6].HeaderText = "website";
               dataGridView1.Columns[6].DataPropertyName = "wbsit";
               dataGridView1.Columns[7].HeaderText = "servicetax";
               dataGridView1.Columns[7].DataPropertyName = "servicetax";
               dataGridView1.Columns[8].HeaderText = "adsnldtl";
               dataGridView1.Columns[8].DataPropertyName = "adsnldtl";
               dataGridView1.DataSource = dt;
           }

       }
Posted
Updated 13-Jun-17 23:29pm
v2

That's perfect answer,this run successfully

private void DisplayData()
{
    DataTable dt = new DataTable();
    {
        dataGridView1.DataSource = null;
        dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        con.Open();
        SqlCommand cmd = new SqlCommand("select id,p.c_name c_name,p.adrs as adrs,p.c_phone as c_phone,p.state_id as state_id,p.GST as GST,t.State as State,p.pan_no as pan_no,p.srvctax as srvctax,p.wbsit as wbsit,p.email as email,p.adsnldtl as adsnldtl,p.logo as logo from cmpny_dtl p join State t on t.State_ID = p.state_id ", con);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(dt);
        con.Close();
        dataGridView1.ColumnCount = 14;
        dataGridView1.Columns[0].HeaderText = "ID";
        dataGridView1.Columns[0].DataPropertyName = "id";
        dataGridView1.Columns[0].Visible = false;
        dataGridView1.Columns[1].HeaderText = "Name";
        dataGridView1.Columns[1].DataPropertyName = "c_name";
        dataGridView1.Columns[2].HeaderText = "adrs";
        dataGridView1.Columns[2].DataPropertyName = "adrs";
        dataGridView1.Columns[3].HeaderText = "state_id";
        dataGridView1.Columns[3].DataPropertyName = "state_id";
        dataGridView1.Columns[3].Visible = false;
        dataGridView1.Columns[4].HeaderText = "GST";
        dataGridView1.Columns[4].DataPropertyName = "GST";
        //dataGridView1.Columns[4].Visible = false;
        dataGridView1.Columns[5].HeaderText = "State";
        dataGridView1.Columns[5].DataPropertyName = "State";
        dataGridView1.Columns[6].HeaderText = "srvctax";
        dataGridView1.Columns[6].DataPropertyName = "srvctax";
        dataGridView1.Columns[7].HeaderText = "c_phone";
        dataGridView1.Columns[7].DataPropertyName = "c_phone";
        dataGridView1.Columns[8].HeaderText = "tin_no";
        dataGridView1.Columns[8].DataPropertyName = "tin_no";
        dataGridView1.Columns[8].Visible = false;
        dataGridView1.Columns[9].HeaderText = "pan_no";
        dataGridView1.Columns[9].DataPropertyName = "pan_no";
        dataGridView1.Columns[9].Visible = false;
        dataGridView1.Columns[10].HeaderText = "wbsit";
        dataGridView1.Columns[10].DataPropertyName = "wbsit";
        dataGridView1.Columns[10].Visible = false;
        dataGridView1.Columns[11].HeaderText = "email";
        dataGridView1.Columns[11].DataPropertyName = "email";
        dataGridView1.Columns[11].Visible = false;
        dataGridView1.Columns[12].HeaderText = "adsnldtl";
        dataGridView1.Columns[12].DataPropertyName = "adsnldtl";
        dataGridView1.Columns[12].Visible = false;
        dataGridView1.Columns[13].HeaderText = "logo";
        dataGridView1.Columns[13].DataPropertyName = "logo";
        dataGridView1.Columns[13].Visible = false;
        dataGridView1.DataSource = dt;
    }


}


private void dataGridView1_CellClick(object sender,ataGridViewCellEventArgs e)
{
    if (dataGridView1.CurrentRow.Index != -1)
    {

        //id =         Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value.ToString());
        CmpnyName_txt.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
        Adrs_txt.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
        CmpnyPhone_txt.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
        STATE_comboBox.SelectedValue = dataGridView1.CurrentRow.Cells[5].Value.ToString();
       GST_textBox.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();

       Email_txt.Text = dataGridView1.CurrentRow.Cells[11].Value.ToString();

       Webst_txt.Text = dataGridView1.CurrentRow.Cells[10].Value.ToString();
       Pan_txt.Text = dataGridView1.CurrentRow.Cells[8].Value.ToString();
        Tin_txt.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
        SrvcTaxNo_txt.Text = dataGridView1.CurrentRow.Cells[9].Value.ToString();
        AdsnlDtl_txt.Text = dataGridView1.CurrentRow.Cells[12].Value.ToString();
        ////AdsnlDtl_txt.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();

        if (dataGridView1.CurrentRow.Cells[13].Value != DBNull.Value)
        {
            byte[] img = (byte[])dataGridView1.CurrentRow.Cells[13].Value;
            MemoryStream ms = new MemoryStream(img);
            pictureBox1.Image = Image.FromStream(ms);

            Browes_btn.Text = "Remove";
        }
        else
        {
            pictureBox1.Image = null;
            Browes_btn.Text = "Browes";
        }

        SUBMIT_btn.Text = "UPDATE";
        Display_btn.Text = "RESET";
    }
}
 
Share this answer
 
v2
You could create a View on the SQL Server, test it, and use that as your DataSource.
Using a BindingSource is recommended, see this example: DataGridView.DataSource Property (System.Windows.Forms)[^]
Also there could be a problem with your join, take a look here for a join example:
SQL Joins[^]
I think the join should be like this:
SQL
from cmpny_dtl join State s on s.State = cmpny_dtl.State
 
Share this answer
 
v4
Comments
Deekshaa Singh Chauhan 13-Jun-17 5:07am    
this is not helpfull
RickZeeland 13-Jun-17 5:14am    
Yes, it is, but you have to show some effort !
Did you try to create a view and tested that first ?
Deekshaa Singh Chauhan 13-Jun-17 6:02am    
i want save state_id but show state name
RickZeeland 13-Jun-17 6:09am    
To make things more clear maybe it would be a good idea to use SQL Server Management Studio, Right-click on your tables, and select "Create script". Add the generated scripts to you question by hovering over it with the mouse and select "Improve question".
Deekshaa Singh Chauhan 13-Jun-17 6:17am    
this code worked bt show only 1 row and sometime that give error in data grideview id column



DataTable dt = new DataTable();
{
SqlConnection con = new SqlConnection(strcon);
dataGridView1.DataSource = null;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
con.Open();
SqlCommand cmd = new SqlCommand("select id,cmpny_dtl.c_name as c_name,cmpny_dtl.adrs as adrs,cmpny_dtl.GST as GST,t.State as state,cmpny_dtl.srvctax as srvctax,cmpny_dtl.adsnldtl as adsnldtl,cmpny_dtl.logo as logo" + " from cmpny_dtl join State t on t.State_ID = cmpny_dtl.state_id ", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
con.Close();
//dataGridView1.ColumnCount = 7;
//dataGridView1.Columns[0].HeaderText = "id";
//dataGridView1.Columns[0].DataPropertyName = "id";
//dataGridView1.Columns[0].Visible = false;
//dataGridView1.Columns[1].HeaderText = "c_name";
//dataGridView1.Columns[1].DataPropertyName = "c_name";
//dataGridView1.Columns[2].HeaderText = "adrs";
//dataGridView1.Columns[2].DataPropertyName = "adrs";
//dataGridView1.Columns[3].HeaderText = "GST";
//dataGridView1.Columns[3].DataPropertyName = "GST";
////dataGridView1.Columns[3].Visible = false;
//dataGridView1.Columns[4].HeaderText = "state";
//dataGridView1.Columns[4].DataPropertyName = "state_id";
//dataGridView1.Columns[4].Visible = false;
//dataGridView1.Columns[5].HeaderText = "srvctax";
//dataGridView1.Columns[5].DataPropertyName = "srvctax";
//dataGridView1.Columns[6].HeaderText = "adsnldtl";
//dataGridView1.Columns[6].DataPropertyName = "adsnldtl";
dataGridView1.DataSource = dt;
}






private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView1.CurrentRow.Index != -1)
{
//if (dataGridView1.CurrentRow.Cells[10].Value != DBNull.Value)
//{
// byte[] img = (byte[])dataGridView1.CurrentRow.Cells[10].Value;
// MemoryStream ms = new MemoryStream(img);
// pictureBox1.Image = Image.FromStream(ms);
//}
//else
//{
// pictureBox1.Image = null;
//}

//id = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value.ToString());
CmpnyName_txt.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
Adrs_txt.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
CmpnyPhone_txt.Text = dataGridView1.CurrentRow.Cells[8].Value.ToString();
//Email_txt.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
//Webst_txt.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
//Pan_txt.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();
//Tin_txt.Text = dataGridView1.CurrentRow.Cells[7].Value.ToString();
SrvcTaxNo_txt.Text = dataGridView1.CurrentRow.Cells[6].Value.ToString();
AdsnlDtl_txt.Text = dataGridView1.CurrentRow.Cells[7].Value.ToString();
STATE_comboBox.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
GST_textBox.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
//id_txt.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
SUBMIT_btn.Text = "UPDATE";

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900