基于 DevExpress PivotGridControl 9.1 中行的数据值的自定义绘图
我正在尝试在版本 9.1 中的 PivotGridControl 的行标题中进行一些自定义绘图。 在版本 8.2 中,我可以在自定义绘制事件的 FieldCellViewInfo 属性上使用 CreateDrillDownDataSource。 在9.1中这个方法不存在。
我在 8.2 中使用的代码如下所示。 从 CustomDrawFieldValue 事件处理程序调用。
PropertyInfo propertyInfo = typeof(PivotCustomDrawFieldValueEventArgs).GetProperty("FieldCellViewInfo", BindingFlags.NonPublic | BindingFlags.Instance);
var fieldCellViewInfo = (PivotFieldsAreaCellViewInfo) propertyInfo.GetValue(args, null);
foreach (PivotDrillDownDataRow dataRow in fieldCellViewInfo.CreateDrillDownDataSource())
{
if (pivotGrid.DataViewInfo.ListSource.Count > dataRow.ListSourceRowIndex)
{
yield return (T) pivotGrid.DataViewInfo.ListSource[dataRow.ListSourceRowIndex];
}
}
最终用途是在已修改数据的每个行标题上的网格上添加行修改标记。 我希望 9.1 能够有一种方法来做到这一点,而不需要像我们在 8.2 中那样使用私有 API 调用
I am trying to do some custom drawing in the row headers in a PivotGridControl in version 9.1. In version 8.2 I could use CreateDrillDownDataSource on the FieldCellViewInfo property on the event for the custom draw. In 9.1 this method does not exist.
The code I was using in 8.2 looks like this. Called from the CustomDrawFieldValue event handler.
PropertyInfo propertyInfo = typeof(PivotCustomDrawFieldValueEventArgs).GetProperty("FieldCellViewInfo", BindingFlags.NonPublic | BindingFlags.Instance);
var fieldCellViewInfo = (PivotFieldsAreaCellViewInfo) propertyInfo.GetValue(args, null);
foreach (PivotDrillDownDataRow dataRow in fieldCellViewInfo.CreateDrillDownDataSource())
{
if (pivotGrid.DataViewInfo.ListSource.Count > dataRow.ListSourceRowIndex)
{
yield return (T) pivotGrid.DataViewInfo.ListSource[dataRow.ListSourceRowIndex];
}
}
What this ends up being used for is a Row modified marker on the grid on each row header that has modified data. I was hoping 9.1 would have a way of doing this without needing to use private API calls as we are doing in 8.2
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论