找回密码
 立即注册

QQ登录

只需一步,快速开始

jim_hujun

初级会员

14

主题

47

帖子

464

积分

初级会员

积分
464

活字格认证

jim_hujun
初级会员   /  发表于:2016-5-24 09:50  /   查看:4100  /  回复:3

因为客户要求,需要在第一行添加合计行,并且不受到排序的影响始终在第一行,所以用了
<c1:C1DataGrid.TopRows>
     <c1ataGridSummaryRow />
</c1:C1DataGrid.TopRows>

但是因为有2列是通过其他2各字段进行了除法计算 算的是比例 所以累加就不对了 需要如何处理呢?
如图


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

3 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2016-5-24 14:05:08
沙发
根据您提供的信息,不能重现您的问题。
建议您参考下我们的随机安装示例:
\Documents\ComponentOne Samples\WPF\C1.WPF.DataGrid\CS\DataGridSamples\Grouping\GrandTotal
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
jim_hujun
初级会员   /  发表于:2016-5-24 15:02:32
板凳
这是我现在前台所用的代码,金额人次都是累加计算,但是占比的话 需要通过其中两列进行合计计算后进行除法,同时第一列的合计行不会应为排序改变移动位置 是否可以给我一个示例

  1. <c1datagrid:C1DataGrid x:Name="dgList" Grid.Row="1" Style="{StaticResource C1DataGrid}"  SelectionMode="SingleCell" >
  2.                                 <c1datagrid:C1DataGrid.Columns>
  3.                                     <c1datagrid:DataGridTextColumn Header="规则名称" Binding="{Binding RULE_NAME}" CellStyle="{StaticResource C1DataGridCellPresenterStyle}" SortMemberPath="RULE_NAME" Format="合计">
  4.                                         <c1:DataGridAggregate.AggregateFunctions>
  5.                                             <c1:DataGridAggregatesCollection>
  6.                                                 <c1:DataGridAggregateSum   ></c1:DataGridAggregateSum>
  7.                                             </c1:DataGridAggregatesCollection>
  8.                                         </c1:DataGridAggregate.AggregateFunctions>
  9.                                     </c1datagrid:DataGridTextColumn>
  10.                                     <c1datagrid:DataGridNumericColumn Header="违规次数" Binding="{Binding EXP_ORD_COUNT}" SortMemberPath="EXP_ORD_COUNT" Format="0">
  11.                                         <c1:DataGridAggregate.AggregateFunctions>
  12.                                             <c1:DataGridAggregatesCollection>
  13.                                                 <c1:DataGridAggregateSum   ></c1:DataGridAggregateSum>
  14.                                             </c1:DataGridAggregatesCollection>
  15.                                         </c1:DataGridAggregate.AggregateFunctions>
  16.                                     </c1datagrid:DataGridNumericColumn>
  17.                                     <c1datagrid:DataGridNumericColumn Header="违规金额(万元)" Binding="{Binding EXP_COSTS}" SortMemberPath="EXP_COSTS" Format="0.0000">
  18.                                         <c1:DataGridAggregate.AggregateFunctions>
  19.                                             <c1:DataGridAggregatesCollection>
  20.                                                 <c1:DataGridAggregateSum   ></c1:DataGridAggregateSum>
  21.                                             </c1:DataGridAggregatesCollection>
  22.                                         </c1:DataGridAggregate.AggregateFunctions>
  23.                                     </c1datagrid:DataGridNumericColumn>

  24.                                     <!--<c1datagrid:DataGridHyperlinkColumn Header="违规医院(个)" Binding="{Binding EXP_HOS_COUNT}" Click="DataGridHyperlinkColumnYY_Click" SortMemberPath="ORD_PHYSICIAN" Format="0.00">
  25.                                         <c1:DataGridHyperlinkColumn.ContentTemplate>
  26.                                             <DataTemplate>
  27.                                                 <TextBlock Text="{Binding EXP_HOS_COUNT}"></TextBlock>
  28.                                             </DataTemplate>
  29.                                         </c1:DataGridHyperlinkColumn.ContentTemplate>
  30.                                     </c1datagrid:DataGridHyperlinkColumn>-->
  31.                                     <c1datagrid:DataGridNumericColumn Header="违规医院(个)" Binding="{Binding EXP_HOS_COUNT}" CellStyle="{StaticResource C1DataGridCellPresenterStyle}" SortMemberPath="EXP_HOS_COUNT" Format="0">
  32.                                         <c1:DataGridAggregate.AggregateFunctions>
  33.                                             <c1:DataGridAggregatesCollection>
  34.                                                 <c1:DataGridAggregateSum   ></c1:DataGridAggregateSum>
  35.                                             </c1:DataGridAggregatesCollection>
  36.                                         </c1:DataGridAggregate.AggregateFunctions>
  37.                                     </c1datagrid:DataGridNumericColumn>

  38.                                     <!--<c1datagrid:DataGridHyperlinkColumn Header="涉及科室(个)" Binding="{Binding ORD_DEPT}" Click="DataGridHyperlinkColumnKS_Click" SortMemberPath="ORD_PHYSICIAN" Format="0.00">
  39.                                         <c1:DataGridHyperlinkColumn.ContentTemplate>
  40.                                             <DataTemplate>
  41.                                                 <TextBlock Text="{Binding ORD_DEPT}"></TextBlock>
  42.                                             </DataTemplate>
  43.                                         </c1:DataGridHyperlinkColumn.ContentTemplate>
  44.                                     </c1datagrid:DataGridHyperlinkColumn>-->
  45.                                     <c1datagrid:DataGridNumericColumn Header="涉及科室(个)" Binding="{Binding ORD_DEPT}" CellStyle="{StaticResource C1DataGridCellPresenterStyle}" SortMemberPath="ORD_DEPT" Format="0">
  46.                                         <c1:DataGridAggregate.AggregateFunctions>
  47.                                             <c1:DataGridAggregatesCollection>
  48.                                                 <c1:DataGridAggregateSum   ></c1:DataGridAggregateSum>
  49.                                             </c1:DataGridAggregatesCollection>
  50.                                         </c1:DataGridAggregate.AggregateFunctions>
  51.                                     </c1datagrid:DataGridNumericColumn>
  52.                                     <!--<c1datagrid:DataGridHyperlinkColumn Header="涉及医生(人)" Binding="{Binding ORD_PHYSICIAN}" Click="DataGridHyperlinkColumnYS_Click" SortMemberPath="ORD_PHYSICIAN" Format="0.00">
  53.                                         <c1:DataGridHyperlinkColumn.ContentTemplate>
  54.                                             <DataTemplate>
  55.                                                 <TextBlock Text="{Binding ORD_PHYSICIAN}"></TextBlock>
  56.                                             </DataTemplate>
  57.                                         </c1:DataGridHyperlinkColumn.ContentTemplate>
  58.                                     </c1datagrid:DataGridHyperlinkColumn>-->
  59.                                     <c1datagrid:DataGridNumericColumn Header="涉及医生(个)" Binding="{Binding ORD_PHYSICIAN}" CellStyle="{StaticResource C1DataGridCellPresenterStyle}" SortMemberPath="ORD_PHYSICIAN" Format="0">
  60.                                         <c1:DataGridAggregate.AggregateFunctions>
  61.                                             <c1:DataGridAggregatesCollection>
  62.                                                 <c1:DataGridAggregateSum   ></c1:DataGridAggregateSum>
  63.                                             </c1:DataGridAggregatesCollection>
  64.                                         </c1:DataGridAggregate.AggregateFunctions>
  65.                                     </c1datagrid:DataGridNumericColumn>
  66.                                     <c1:DataGridHyperlinkColumn Header=""  FilterMemberPath="BillDetail" Click="DataGridHyperlinkColumnDJ_Click">
  67.                                         <c1:DataGridHyperlinkColumn.ContentTemplate>
  68.                                             <DataTemplate>
  69.                                                 <TextBlock Text="{Binding BillDetail}"></TextBlock>
  70.                                             </DataTemplate>
  71.                                         </c1:DataGridHyperlinkColumn.ContentTemplate>
  72.                                     </c1:DataGridHyperlinkColumn>
  73.                                 </c1datagrid:C1DataGrid.Columns>
  74.                                 <c1datagrid:C1RowIndexHeaderBehavior.RowIndexHeaderBehavior>
  75.                                     <c1:C1RowIndexHeaderBehavior InitialIndex="1" />
  76.                                 </c1datagrid:C1RowIndexHeaderBehavior.RowIndexHeaderBehavior>
  77.                                 <c1:C1DataGrid.TopRows>
  78.                                     <c1:DataGridSummaryRow />
  79.                                 </c1:C1DataGrid.TopRows>
  80.                             </c1datagrid:C1DataGrid>
复制代码
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-5-24 17:26:15
地板
jim_hujun 发表于 2016-5-24 15:02
这是我现在前台所用的代码,金额人次都是累加计算,但是占比的话 需要通过其中两列进行合计计算后进行除法 ...

谢谢您提供的代码,使用DataGridSummaryRow进行分组。
除了默认的计算,如果您需要自定义分组里的信息,可以重写GroupConverter。
然后在里面重写自己的计算逻辑。

请参考产品文档:
http://blog.gcpowertools.com.cn/ ... PF_CustomGroup.aspx
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部