Member 13153537 Ответов: 1

Как очистить строки datagridview, когда я ничего не выбрал в выпадающем списке


У меня есть выпадающий список столбце bankname,и accountno текстовом поле accounttype, начиная ComboBox и одним элементом управления datagridview.
Теперь я выбираю bankname из combobox accountno и accounttype, показывая соответствующие поля и показывая соответствующие данные в datagridview.После ничего не выбирая из комбобокса столбце bankname accountno и accounttype, начиная клиринга в порядке.но datagriddata не расчищают.Я искал в google и пробовал разные способы получения не могу очистить ошибку списка.Пожалуйста, кто-нибудь может мне помочь, пожалуйста.
заранее спасибо.

Что я уже пробовал:

<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>

[no name]

Вы не предоставили код для LoadDataGridView(); но вы можете попробовать установить свойство DataSource в null по вашей сетке получается...

Member 13153537

Я тоже пробовал.Но в первый раз все работало нормально.Но secondtime bank_chequeendno не может быть найден.и показывает столбец bankid в datagridview.На самом деле у меня есть набор столбцов идентификатор банка видна ложь.Я опубликовал loaddatagridview (), пожалуйста, один раз взгляните на него.Спасибо.

1 Ответов

Рейтинг:
1

Bhuban _Shrestha

if (abc != "[select, select]" && abc != "select")
{
 datagridview.DataSource = null;
}


Member 13153537

Это не работает для меня, как я ожидал.

Member 13153537

Это не работает для меня.Потому что, когда я очищаю datagridview, он очищает полный datagridview вместе с определениями столбцов datagridview.Но во второй раз он показывает разные имена столбцов из таблицы базы данных.Пожалуйста, помогите мне кто-нибудь.как это сделать.Заранее спасибо.

Member 13153537

Наконец я получил ответ.Я очищаю datatable, когда выбранное значение изменилось, чтобы выбрать текст в banknamecombobox, у меня есть ответ.

еще если (cmbbankname.SelectedIndex == 0)
{
txtAcntno.Текст = "";
cmbAcntype.SelectedIndex = 0;
белая горячка.Четкий();
}