Поддержание состояния ячейки в Telerik RadGridView для Silverlight - PullRequest
1 голос
/ 20 апреля 2010

У меня есть RadGridView, в котором один из столбцов содержит только кнопки.

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

foreach (Item item in this.radGridView.Items)
{
    row = this.radGridView.ItemContainerGenerator.ContainerFromItem(item) as GridViewRow;

    if (row != null)
    {
        cell = (from c in row.Cells
                where c.Column.UniqueName == "buttonCol"
                select c).FirstOrDefault();
        if (cell != null)
        {
            if (item.buttonEnabled)
            {
                cell.IsEnabled = true;
            }
            else
            {
                cell.IsEnabled = false;
            }
        }
    }
}

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

Интересно, какое событие RadGridView было бы наилучшим для вызова моей функции, которая устанавливает состояние ячеек кнопки при каждом изменении отображаемых значений?

1 Ответ

0 голосов
/ 20 апреля 2010

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

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