我正在尝试在版本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调用