Click here to Skip to main content
15,918,976 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
I have Bankname combobox,and accountno textbox,accounttype combobox and one datagridview.
Now i select bankname from combobox accountno and accounttype showing respective fields and showing the related data in datagridview.After selecting nothing from bankname combobox accountno and accounttype clearing fine.but datagriddata is not clearing.I have searched in google and tried different ways getting Cannot clear the list error.Please Anybody could help me please.
thanks in advance.

What I have tried:

C#
<blockquote class="quote"><div class="op">Quote:</div>  
    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            string abc = cmbbankname.SelectedValue.ToString();
            if (abc != "[select, select]" && abc != "select")
            {
                SqlConnection con = new SqlConnection(connection);
                con.Open();
                SqlCommand cmd = new SqlCommand("SELECT [bank_Id],[bank_Accountno],bank_Accountype FROM bankdetails where bank_Id=@bank_Id", con);
                cmd.Parameters.AddWithValue("@bank_Id", cmbbankname.SelectedValue.ToString());
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                sda.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    txtAcntno.Text = dt.Rows[0]["bank_Accountno"].ToString();
                    cmbAcntype.Text = dt.Rows[0]["bank_Accountype"].ToString().Trim();
                    LoadDataGridView();
                }
            }
            else if (cmbbankname.SelectedIndex == 0)
            {
                txtAcntno.Text = "";
                cmbAcntype.SelectedIndex = 0;
                dgvwChqs.Rows.Clear();


            }
        }




         private void LoadDataGridView()
         {
            SqlConnection con = new SqlConnection(connection);
            SqlCommand cmd = new SqlCommand("SELECT bank_Id,row_number() over(order by 
   [bank_Id]) as SlNo,[bank_Chqstartno],bank_Chqlvscount,[bank_Chqendno],bank_Stat FROM 
   [dbo].bankcheques where bank_Id=@bank_Id order by SlNo desc ", con);
            cmd.Parameters.AddWithValue("@bank_Id", cmbbankname.SelectedValue.ToString());
            try
            {
                con.Open();
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = cmd;
                DataTable dt = new DataTable();
                da.Fill(dt);
                dgvwChqs.DataSource = dt;
                con.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        </blockquote>
Posted
Updated 12-May-17 2:50am
v3
Comments
[no name] 12-May-17 8:03am    
You have not provided code for LoadDataGridView(); but can you try setting datasource property to null for your grid conrol...
Member 13153537 12-May-17 8:23am    
I have tried that too.But firsttime it working fine.But secondtime bank_chequeendno cannot found.and showing bankid column in the datagridview.Actually i have set bankid column visible false.I have posted loaddatagridview() please once have look at it.Thanks.

1 solution

if (abc != "[select, select]" && abc != "select")
{
 datagridview.DataSource = null;
}
 
Share this answer
 
Comments
Member 13153537 12-May-17 23:22pm    
It is not working for me as i expected.
Member 13153537 13-May-17 1:15am    
It is not working for me.Because when i clear the datagridview it isclearing complete datagridview along with datagridview column definitons.But secondtime it is showing different columnnames from the database table.Please help me anybody.how to do.Thanks in advance.
Member 13153537 13-May-17 1:38am    
Finaly I got the answer.I clear the datatable when the selected value changed to select text in the banknamecombobox i have got answer.

else if (cmbbankname.SelectedIndex == 0)
{
txtAcntno.Text = "";
cmbAcntype.SelectedIndex = 0;
dts.Clear();
}

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