C# 在WPF中对gridview进行分组时未更新UI
动态网格的XamlC# 在WPF中对gridview进行分组时未更新UI,c#,wpf,gridview,telerik,grouping,C#,Wpf,Gridview,Telerik,Grouping,动态网格的Xaml <telerik:RadGridView Name="RadgridHoover" CanUserDeleteRows="True" CanUserInsertRows="True" ShowColumnHeaders="True"
<telerik:RadGridView Name="RadgridHoover"
CanUserDeleteRows="True"
CanUserInsertRows="True"
ShowColumnHeaders="True"
ShowGroupPanel="{Binding IsShowGroupPanel, Mode=TwoWay}"
AlternateRowBackground="Transparent"
AlternationCount="2"
AutoGenerateColumns="False"
SelectionMode="Multiple"
IsReadOnly="True"
IsFilteringAllowed="True"
EditTriggers="CurrentCellClick"
SelectionUnit="FullRow"
EnableColumnVirtualization="False"
EnableRowVirtualization="True"
RowIndicatorVisibility="Collapsed"
GridLinesVisibility="Horizontal"
behaviors:GridColumnsBindingBehavior.Columns="{Binding Columns, Mode=TwoWay}"
ItemsSource="{Binding MembersTable, Mode=TwoWay}"
SelectedItem="{Binding SelectedItem}"
DataLoadMode="Asynchronous"
>
</telerik:RadGridView>
对网格上的数据进行分组时,展开标题组并选择一条记录以编辑此选定记录。
之后,我更新了viewmodel中所选记录的网格上的数据行:
public void UpdateRow(int index, object data)
{
if (data != null)
{
var row = MembersTable.Rows[index];
for (int i = 0; i < data.GetType().GetProperties().Count(); i++)
{
PropertyInfo pinfo = data.GetType().GetProperties()[i];
if (!ListPropertiesName.Contains(pinfo.Name))
{
row[pinfo.Name] = pinfo.GetValue(data, null);
}
}
MembersTable.Rows[index] = row;
}
}
public void UpdateRow(整数索引,对象数据)
{
如果(数据!=null)
{
var row=MembersTable.Rows[index];
对于(int i=0;i
此选定行不会更新,仅当我滚动网格时,此选定行才会更新。
如果不是分组行,则一切正常
请帮我拿这个箱子。非常感谢。在过去两年多的时间里,telerik的伙计们不推荐使用RadGridView的
DataLoadMode=“Asynchronous”
。看起来他们自己在新版本中破坏了这个功能
如果您可以将DataLoadMode
更改为Asynchronous
以外的其他方式,则问题可能会得到解决
结帐