1

在渲染完整网格之后,我需要更改选定行的数据上下文,因为最初“简单”对象作为数据源填充以及选择单个项目(查看Rowdetailsvisibilitychanged事件),然后我想将DataContext更改为复杂对象,这显示了很多详细信息比折叠行中的信息更多。

使用 GridViewRowDetailsEventArgs.DetailsElement.DataContext 似乎可以解决在选择时在行下方展开的详细信息元素,但标题(列)保持不变,并且在更改 GridViewRowDetailsEventArgs.DetailsElement.DataContext 或 GridViewRowDetailsEventArgs.Row.DataCONtext 时不会更新值。

(想象一下,折叠行的列绑定到名称,其中名称为“John”,展开时,Row.DataContext 更改为具有“John Dough”属性名称的对象,但列仍显示“John”)。

4

1 回答 1

1

好的,我找到了一个解决方案,它似乎很简单。

所以...您将事件处理程序连接到 RadGridView.RowDetailsVisibilityChanged 并在事件处理程序本身中更改提供的行的 Item 属性:

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

现在唯一的问题是该行不再可点击(选择它时详细信息不再展开)。

于 2010-07-23T13:44:35.783 回答