Как скрыть строку и выделить сразу 1-ю строку в datagridview?

Всем привет.
Использую datagridview для отображения данных из локальной БД.

По нажатию кнопки, должны скрыться лишние строки (подходящие под улсвоие), выделиться первая строка и запускается таймер с проверкой условий.

if (taskDataGridView.Rows.Count == 0)
            {
                MessageBox.Show("Данные не заполнены!");
            }
            else
            {

                timer.Start();
                toolStripStatusLabel1.Text = "Running...";
                btnStart.Enabled = false;

                // taskDataGridView.ClearSelection();
                taskDataGridView.CurrentCell = null; // скрыть 
                foreach (DataGridViewRow row in taskDataGridView.Rows)
                {
                    if ((row.Cells[3].Value != null) && (row.Cells[3].Value.ToString() == "1"))
                    {
                        row.Visible = false;
                    }
                }
                taskDataGridView.CurrentCell = taskDataGridView.Rows[0].Cells[1]; // текущая строка для таймера при 0 в столбце isDone
            }


Выше код, получаю ошибку:

System.InvalidOperationException: Текущую ячейку нельзя сделать невидимой.
   в System.Windows.Forms.DataGridView.set_CurrentCell(DataGridViewCell value)
   в TaskManager.mainForm.btnStart_Click(Object sender, EventArgs e) в H:\C# проекты\TaskManager\TaskManager\TaskManager\Form1.cs:строка 208
.....


208 строка - if (taskDataGridView.Rows.Count == 0)

Как можно исправить? СПАСИБО
  • Вопрос задан
  • 416 просмотров
Решения вопроса 1
@mkvmaks Автор вопроса
Сам же и исправил:
taskDataGridView.MultiSelect = false;
                taskDataGridView.MultiSelect = true;
                taskDataGridView.Rows[0].Selected = true;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Bolide9
taskDataGridView.ClearSelection(); // сбросить уже выбранные
                taskDataGridView.Rows[0].Cells[0].Selected = true; // фокус на первую ячейку, если нужно все строку то убрать Cells[0]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы