DevExpress DataGridView显示子集合Items.Count值空白问题求助
问题分析与解决
你的代码存在两个关键错误:
- FieldName与UnboundExpression混用错误:FieldName无法直接识别嵌套属性
Items.Count,且你错误地在UnboundExpression中使用了<Binding>标签,不符合DevExpress无绑定列的语法规则。 - UnboundExpression写法违规:DevExpress的UnboundExpression不需要通过Binding标签绑定,直接写入表达式字符串即可。
正确实现代码
修改后的XAML代码如下:
<dxg:DataGridView.Columns> <dxg:TextColumn Row="0" Column="0" FieldName="DocumentNumber" ColumnSpan="2" Caption="Code" FontAttributes="Bold" FontSize="20" /> <dxg:TextColumn Row="0" Column="2" UnboundColumnType="Integer" UnboundExpression="Items.Count" Caption="Item Count" HorizontalContentAlignment="End" FontAttributes="Bold"/> </dxg:DataGridView.Columns>
关键说明
- 移除
FieldName="Items.Count":无绑定列无需指定关联数据源的直接字段,若需要自定义列标识可设置FieldName="ItemCount",非必填项。 - 设置
UnboundColumnType="Integer":明确列的数据类型,确保数值正确渲染。 - 直接使用
UnboundExpression="Items.Count":这是DevExpress支持的表达式语法,会自动关联每行Document对象的Items集合Count属性。 - 可选添加
Caption:给列设置显示标题,提升界面可读性。
额外注意点:
- 确保Document类的
Items属性为公共可访问(public); - 若需要Items集合变化时自动更新Count数值,需保证Items是
ObservableCollection类型(自带集合变更通知),或在Items集合修改时手动触发Document对象的INotifyPropertyChanged事件。
内容的提问来源于stack exchange,提问作者Val
相关产品推荐
相关产品推荐

