C1DataGrid合计和上面的怎么不是一个国家的钱呢
<c1:DataGridTextColumnHeader="价格" Binding="{Binding SalePrice}" Format="C2"><c1:DataGridAggregate.AggregateFunctions>
<c1:DataGridAggregatesCollection>
<c1:DataGridAggregateSum ResultFormat=" {0} "></c1:DataGridAggregateSum>
</c1:DataGridAggregatesCollection>
</c1:DataGridAggregate.AggregateFunctions>
</c1:DataGridTextColumn> 回复 1楼feiyan0320的帖子
谢谢你对该问题的反馈。
根据你的提示信息,已经重现了该问题。
测试示例:
\Documents\ComponentOne Samples\WPF\C1.WPF.DataGrid\CS\DataGridSamples\Grouping\GroupSummary
已经提交到产品组调查原因后给你反馈,很抱歉给你带来的不便。 回复 2楼Alice的帖子
多谢版主,终于把你盼来了 回复 3楼feiyan0320的帖子
如果在英文机器上会正常显示,推测是由于Summary合计的时候i考虑到当前线程的culture或是操作系统的culture。
在这种情况下,建议调用C1DataGrid的LoadedCellPresenter事件,来自定义单元格的text。
如下是建议的代码:
void grid_LoadedCellPresenter(object sender, DataGridCellEventArgs e)
{
if (e.Cell.Row.Type == DataGridRowType.Group)
{
string text=((System.Windows.Controls.ContentPresenter)(((System.Windows.Controls.Panel)(e.Cell.Presenter.Content)).Children)).Content as string;
text=text.Trim('¥');
text = "$" + text;
((System.Windows.Controls.ContentPresenter)(((System.Windows.Controls.Panel)(e.Cell.Presenter.Content)).Children)).Content = text;
}
}
回复 4楼Alice的帖子
我直接把代码粘过去的,貌似没有起作用哦 回复 5楼feiyan0320的帖子
你好。
我是使用随机安装示例做测试,示例参考:
\Documents\ComponentOne Samples\WPF\C1.WPF.DataGrid\CS\DataGridSamples\Grouping\GroupSummary
这段代码的逻辑是判断是分组统计的行,然后获取文字,如果文字里有currency的符号,就将符号去掉,替换成自己所需要的符号,然后重新设置回去。
这段代码需要根据系统的语言做修改后才能使用。 回复 6楼Alice的帖子
e.Cell.Row.Type
版主给的例子里,这个在有合计的列里,不是group,还是item,所以判断进不去 回复 7楼feiyan0320的帖子
string text=((System.Windows.Controls.ContentPresenter)(((System.Windows.Controls.Panel)(e.Cell.Presenter.Content)).Children)).Content as string;
这句也有问题
e.Cell.Presenter.Content
这个出来应该是TextBlock 回复 8楼feiyan0320的帖子
很抱歉在2楼提供的示例中测试4楼的代码,无法重现你的问题。
如果你是在将代码添加到本身程序中产生了问题,请将出问题的Demo发给我,我帮你看看。 回复 8楼feiyan0320的帖子
这个没事了,我换了另外一种方法,多谢哦
页:
[1]
2