XamDataGrid列位置索引:字段.索引或字段.actualposition.column
本文关键字:索引 字段 actualposition column 位置 XamDataGrid | 更新日期: 2023-09-27 18:11:54
让我们假设网格已经绑定到一个数据行并且有多个列。
我发现我可以检索给定的列位置索引:
var fieldsLayout = grid.FieldLayouts[0];
var columnField = fieldsLayout.Fields.Single(f => f.Name == "Column Name");
int columnIndex = ... see below
-
columnField.Index
-如果用户没有更改初始列顺序 -
columnField.ActualPosition.Column
-如果用户更改了初始列顺序
在调查中我发现,在初始阶段,当列顺序尚未改变时,每个列的field.ActivePosition.Column
是0
或== field.Index
,因此,通过引入以下标志:
bool initialOrderChanged = fieldsLayout.Fields.Any(f =>
f.ActualPosition.Column != 0
&&
f.ActualPosition.Column != f.Index);
我可以得到正确的列位置顺序如下:
int position = initialOrderChanged
? field.ActualPosition.Column
: field.Index,
存储初始列列表,并将初始列列表与实际列表进行比较。