找回密码
 立即注册

QQ登录

只需一步,快速开始

feiyan0320

中级会员

17

主题

70

帖子

615

积分

中级会员

积分
615

活字格认证微信认证勋章

QQ
feiyan0320
中级会员   /  发表于:2015-7-20 11:53  /   查看:10758  /  回复:12
回复 13楼Alice的帖子

非常感谢

我在版主发的例子里只是 在后面陆续加了几列
  1. <c1:DataGridTextColumn  Header="[产量, 总产量, 平米]"  />
  2.                 <c1:DataGridTextColumn  Header="[产量, 总产量, 米]"  />
  3.                 <c1:DataGridTextColumn  Header="[产量, 折算产量, 折算产量]"  />
  4.                 <c1:DataGridTextColumn  Header="[达标率, 达标率, 达标率]"  />
复制代码


后面又不能合并了



我试着调节
            _headerRowColumns = grid.Columns.Take(3).ToArray();
这里的3的数值,增大到一定程度,可以合并,但冻结列又有问题,拖拉也有问题
我修改成这样:
  1. C1.WPF.DataGrid.DataGridRow[] _headerColumnRows;
  2.         C1.WPF.DataGrid.DataGridColumn[] _headerRowColumns;
  3.         C1.WPF.DataGrid.DataGridColumn[] _headerRow;

  4.         public FirstYieldStatementNew()
  5.         {
  6.             InitializeComponent();
  7.             // save headers rows and columns for later
  8.             _headerRowColumns = grid.Columns.Take(3).ToArray();
  9.             _headerRow = grid.Columns.ToArray();
  10.             _headerColumnRows = grid.TopRows.Take(3).ToArray();

  11.             // forbid unfreezing headers
  12.             grid.FrozenColumnCountChanged += delegate
  13.             {
  14.                 if (grid.FrozenColumnCount < _headerRowColumns.Length)
  15.                     grid.FrozenColumnCount = _headerRowColumns.Length;
  16.             };
复制代码

在merge的时候用_headerRow ,应该可以解决问题了


顺便问下,<c1ataGridAggregateAvg ResultFormat=" {0:p1} "></c1ataGridAggregateAvg> 这里我想格式化百分比,应 如何写呢?

我看到在别的帖子里有问道:
用TopRows实现多行列头后,怎样使它列头的内容实现回车换行显示。

版主回答是:
可以设置列的TextWrapping属性为Wrap,并且RowHeight为Auto。

但我这样设定了,标题还是没有自动换行

本帖子中包含更多资源

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

x

12 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-7-20 11:54:00
沙发
回复 1楼feiyan0320的帖子

问题我们已经收到了。
一个是c1datagrid合计的百分号显示的问题。
另一个是列头的换行显示。
这两个问题校验后给你反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-20 15:40:00
板凳
回复 1楼feiyan0320的帖子

ResultFomat无法识别0 : p1这样的格式,这里是输出的格式。
如果要想设置格式format,可以通过column的format来设置。
比如代码:
  1. <c1:DataGridTextColumn Binding="{Binding Size}" Header="Size" Width="200" Format="P2"/>
复制代码


另外对于对于列,设置TextWrapping="Wrap" ,对于该列下的单元格可以实现自动折行,这是指如果内容大于宽度,就会自动折行到另一行。
在输入进入编辑状态的时候无法自动折行。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
feiyan0320
中级会员   /  发表于:2015-7-20 16:00:00
地板
回复 3楼Alice的帖子

如果是列标题,那如何做到标题自动换行呢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-20 17:43:00
5#
回复 4楼feiyan0320的帖子

列的Header模板里,可以设置TextWrapping实现列头的折行显示。
比如代码参考:   
      
  1. <c1:DataGridTextColumn >
  2.                     <c1:DataGridTextColumn.Header>
  3.                         <TextBlock Text="test wrap" Width="40" TextWrapping="Wrap"/>            
  4.                     </c1:DataGridTextColumn.Header>
  5.                 </c1:DataGridTextColumn>
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
feiyan0320
中级会员   /  发表于:2015-7-20 17:51:00
6#
回复 5楼Alice的帖子

&lt;TextBlock Text=&quot;[扣减前优等品率, 扣减前优等品率, 扣减前优等品率]&quot;
但这种的又不会合并
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-21 09:50:00
7#
回复 6楼feiyan0320的帖子

按照你的代码测试了下,没有实现。
下面我会确认下合并单元格是否支持多行显示,如果支持给你个解决方案。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
feiyan0320
中级会员   /  发表于:2015-7-21 12:03:00
8#
回复 7楼Alice的帖子

静待佳音,如果列标题合并后也能自动换行就非常完美了
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-7-21 15:05:00
9#
回复 8楼feiyan0320的帖子

很抱歉目前使用【】产生合并列头的时候,TextWrapping属性是无效的。
因此使用【】产生合并列头,无法做到折行操作。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
feiyan0320
中级会员   /  发表于:2015-7-21 16:14:00
10#
回复 9楼Alice的帖子

这个能否在下个版本改善呢,或者有什么折中的办法
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部