Событие datagridview columnsremoved вызывается каждый раз при загрузке данных - PullRequest
2 голосов
/ 16 июня 2010

Событие удаления строк в datagridview вызывается при каждой загрузке данных.В определенной степени также имеет смысл, что при каждой загрузке данных существующие строки удаляются.так что технически событие должно вызываться.

Но как я могу отличить это от фактического нажатия кнопки удаления.Я не думаю, что следует использовать ключевые события, это не будет чистым подходом.

Любая помощь будет наиболее ценной.

Ответы [ 4 ]

1 голос
/ 13 июля 2010

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

private bool IsLoading { get; set; }

В форме события Load вы устанавливаете переменную

private void MyForm_Load(object sender, EventArgs e)
{
    this.IsLoading = true;
// do stuff
    this.IsLoading = false;
}

private void DataGridView_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
{
            if (this.IsLoading)
            {
                return;
            }

   //do stuff
}
0 голосов
/ 18 апреля 2014

Это помогло мне:

If questionList.SelectedRows.Count > 0 Then
End If

Смотри также: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.userdeletingrow.aspx

0 голосов
/ 23 июля 2013

Вместо этого можно использовать событие UserDeletedRow .

0 голосов
/ 16 июня 2010

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

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