Невозможно очистить выделенную первую ячейку DataGridView - PullRequest
0 голосов
/ 02 марта 2012

Я хочу, чтобы первая строка строки DGV не была выбрана, всякий раз, когда мое приложение инициализируется. Я использую следующий код, но он работает только при отключении таймера (я действительно не знаю причину).

 private void BindData()
 {
            try
            {
                DataTable dt = DeviceData.BindData(BMS_Controls.ClsConstant.DEVICETYPE.PRIMARY_PUMPS.ToString());
                bindingSource1.DataSource = dt;
                dataGridView1.DataSource = bindingSource1;
                dataGridView1.ClearSelection();
                dataGridView1.Refresh();
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
            }
  }

  private void frmPrimaryPumps_Load(object sender, EventArgs e)
   {
            BindData();
            timer1.Interval = 1000;
            timer1.Start();

   }

Я использую таймер для вызова метода BindData после ожидания 1 секунды.

Может ли кто-нибудь сказать мне, как я могу отключить выбор первой строки и успешно вызвать метод BindData с помощью Timer?

Ответы [ 3 ]

1 голос
/ 02 марта 2012

Вы должны попытаться установить datagridview1.CurrentCell = null после назначения DataSource, это должно удалить выбор первой строки / ячейки из вашей сетки.

0 голосов
/ 18 августа 2012

звонок

dgv.ClearSelection ();

в событии DataBindingsCompleted

как следует

dgv.DataBindingComplete + = new DataGridViewBindingCompleteEventHandler (dgv_DataBindingComplete);

    private void dgv_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
    {
        DataGridView d = sender as DataGridView;
        d.ClearSelection();
    }
0 голосов
/ 02 марта 2012

У меня получилось добавить строку, которую вы уже добавили:

dataGridView1.ClearSelection();

попробуйте удалить метод обновления.

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