SpreadsheetGear Grid: события для удаления или вставки строк или столбцов?

Как следует из заголовка, есть ли событие для таких действий, как удаление строки или столбца, вставка строки или столбца или изменение текста в ячейке? Я был бы очень разочарован, если бы его не было.


person newman    schedule 11.12.2012    source источник


Ответы (1)


Когда вы удаляете или вставляете строку или столбец, событие RangeChanged класса WorkbookView срабатывает. Например, если вы удалите столбец, вы сможете увидеть адрес столбца из RangeChangedEventArgs.

public void workbookView1_RangeChanged(object sender, RangeChangedEventArgs e)
{
    //if column D is deleted, address = "$D:$D"
    string address = e.Range.Address
}

Полезным событием для обработки текста, введенного в ячейку, является событие CellEndEdit класса WorkbookView, которое срабатывает, когда пользователь завершает редактирование ячейки.

private void workbookView1_CellEndEdit(object sender, CellEndEditEventArgs e)
{
  IRange range = e.RangeSelection;
  string entry = e.Entry;
}
person Daniel    schedule 12.12.2012
comment
Хорошо, событие RangeChanged запускается часто. Но как узнать, удален ли диапазон или вставлен? Из моего тестирования я получил один и тот же диапазон для удаления или вставки. - person newman; 12.12.2012
comment
Вы правы, в событии RangeChanged нет ничего, что могло бы сказать вам, вставлен ли диапазон или удален. Кроме знания состояния диапазона до изменения диапазона, я не знаю, как можно определить тип изменения. Я не знаю событий вставки или удаления диапазона. - person Daniel; 12.12.2012