Как изменить контекст данных и перерисовать один RadGridRow - PullRequest
1 голос
/ 23 июля 2010

После рендеринга полной сетки мне нужно изменить контекст данных выбранной строки, так как изначально «простые» объекты заполняются как источник данных, и когда выбирается один элемент (глядя на событие RowDetailsVisibilityChanged), затем я хочу изменить DataContext на сложный объект,это показывает гораздо больше информации в деталях, чем в свернутой строке.

Использование GridViewRowDetailsEventArgs.DetailsElement.DataContext, кажется, делает трюк для элемента Details, который раскрывается ниже строки при выборе, НО Заголовок (Столбцы) остаются теми же, и значенияне обновляются при изменении GridViewRowDetailsEventArgs.DetailsElement.DataContext или GridViewRowDetailsEventArgs.Row.DataCOntext.

(Представьте, что столбец свернутой строки связан с Name, где Name - «John», а при расширении Row.DataConte -изменено на объект со свойством Name с помощью "John Dough", но столбец по-прежнему показывает "John").

1 Ответ

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

Хорошо, я нашел решение, и оно кажется довольно простым.

так ... вы подключаете обработчик событий к RadGridView.RowDetailsVisibilityChanged и в самом обработчике событий вы изменяете свойство Item предоставленной строки:

private void OnRowDetailsVisibilityChanged(object sender, GridViewRowDetailsEventArgs e)
{
       e.Row.Item = (my New Data);
}

Единственная проблема на данный момент заключается в том, что строка больше не активируется (детали больше не раскрываются при ее выборе).

...