找回密码
 立即注册

QQ登录

只需一步,快速开始

dennis

葡萄城公司职员

7

主题

24

帖子

103

积分

葡萄城公司职员

积分
103

活字格认证

dennis
葡萄城公司职员   /  发表于:2014-6-10 16:55  /   查看:5762  /  回复:8
版本:【FlexGrid for WinForms】 C1StudioWinForms_2014Jv1
问题:grid两行列头,列头标题有折行,列头居中表示。当点击列头排序,或者改变列宽时,列头居中表示出错。





此问题已报过Bug,Bug ID是80702,但貌似没有修好

本帖子中包含更多资源

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

x

8 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-6-11 10:29:00
沙发
回复 1楼dennis的帖子

你好,

我这边需要和产品组确认状态后给你反馈。
由于时差和产品处理先后顺序影响,预计1~2天有进一步反馈。

谢谢
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-6-16 15:10:00
板凳
回复 1楼dennis的帖子

我使用这段代码测试,没有重现问题,请你尝试下:

  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             this.c1FlexGrid1.Rows.Fixed = 2;
  4.             CellStyle cs = this.c1FlexGrid1.Styles.Add("test");
  5.             cs.TextAlign = TextAlignEnum.CenterCenter;
  6.             this.c1FlexGrid1.Rows[0].Style = cs;
  7.             this.c1FlexGrid1.Rows[0].Height = 100;

  8.             this.c1FlexGrid1.AllowMerging = AllowMergingEnum.Custom;
  9.             C1.Win.C1FlexGrid.CellRange rng = this.c1FlexGrid1.GetCellRange(0, 1, 1, 1);
  10.             rng.Data = "测试\n代码";
  11.             this.c1FlexGrid1.MergedRanges.Add(rng);

  12.             C1.Win.C1FlexGrid.CellRange rng1 = this.c1FlexGrid1.GetCellRange(0, 2, 1, 2);
  13.             this.c1FlexGrid1.MergedRanges.Add(rng1);

  14.             this.c1FlexGrid1.Cols[3].AllowSorting=true;
  15.         }
复制代码
回复 使用道具 举报
dennis
葡萄城公司职员   /  发表于:2014-6-16 16:44:00
地板
不好意思,上面描述有些不清楚。以下是我的代码:

  1. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  2.     grid.AllowMerging = AllowMergingEnum.FixedOnly
  3.     grid.Cols(1).AllowMerging = True
  4.     grid.Cols(1).TextAlignFixed = TextAlignEnum.CenterCenter
  5.     grid.Cols(2).AllowMerging = True
  6.     grid.Cols(2).TextAlignFixed = TextAlignEnum.CenterCenter
  7.     grid.SetData(0, 1, "出席" & vbCrLf & "番号")
  8.     grid.SetData(1, 1, "出席" & vbCrLf & "番号")

  9.     Dim rng As CellRange = grid.GetCellRange(0, 2, 1, 2)
  10.     rng.Data = " "
  11. End Sub
复制代码


主要是用CellRange的方法给另一列的列头赋了半角空格,导致点击列头排序,或者Cell内容编辑,改变列宽时,就会引起列头居中表示错误。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-6-17 12:05:00
5#
回复 4楼dennis的帖子

dennis 你好,

问题我已经重现了,接下来反馈给产品组,有进一步结果通知你。

  1.     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  2.         grid.AllowMerging = AllowMergingEnum.FixedOnly
  3.         grid.Cols(1).AllowMerging = True
  4.         grid.Cols(1).TextAlignFixed = TextAlignEnum.CenterCenter
  5.         grid.Cols(2).AllowMerging = True
  6.         grid.Cols(2).TextAlignFixed = TextAlignEnum.CenterCenter
  7.         grid.SetData(0, 1, "出席" & vbCrLf & "番号")
  8.         grid.SetData(1, 1, "出席" & vbCrLf & "番号")

  9.         grid.Rows(0).Height = 100
  10.         grid.Rows(1).Height = 100

  11.         Dim rng As CellRange = grid.GetCellRange(0, 2, 1, 2)
  12.         rng.Data = " "
  13.     End Sub
复制代码

谢谢
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-6-28 16:36:00
6#
回复 4楼dennis的帖子

问题已经修复,请尝试附件中 DLL:

本帖子中包含更多资源

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

x
回复 使用道具 举报
dennis
葡萄城公司职员   /  发表于:2014-6-30 08:21:00
7#
好的,谢谢。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-6-30 13:34:00
8#
回复 7楼dennis的帖子

好的,不客气。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-6-30 13:35:00
9#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部