У меня есть окна формы DataGridView.То, что я заполняю и обновляю, используя код ниже, все довольно просто, и все это делается в потоке пользовательского интерфейса.
По какой-то странной причине иногда размер вертикальной полосы прокрутки (которую я сделал видимой только при необходимости) не отражает количество доступных строк.Если я прокручиваю весь путь вниз, я все равно не вижу самые последние строки.Я могу сказать, выбрав строки ниже (и вывести их на экран) с помощью клавиши со стрелкой вниз.
Что может быть причиной для этого.Нужно ли мне что-то вроде BeginUdate или SuspendLayout или что-то еще?Элемент управления встроен посредством взаимодействия в приложение MFC.
Энди, как отследить эту проблему?Это известная ошибка?Кажется, Google так не думает.
Вот код, который я использую.
добавление или вставка строки:
int newRowIndex = insertAt;
if (insertAt < 0 || insertAt > this.dataGridView.Rows.Count)
{
newRowIndex = this.dataGridView.Rows.Add();
}
else
{
this.dataGridView.Rows.Insert(insertAt, 1);
}
удаление строки:
this.dataGridView.Rows.Remove(index);
очистка:
this.dataGridView.Rows.Clear();
обновление строки:
this.dataGrid[0, rowIndex].Value = someString;
this.dataGrid[1, rowIndex].Value = someBool;
this.dataGrid[2, rowIndex].Value = someInt;