找回密码
 立即注册

QQ登录

只需一步,快速开始

tenjin

初级会员

14

主题

56

帖子

482

积分

初级会员

积分
482

活字格认证

tenjin
初级会员   /  发表于:2013-11-12 14:54  /   查看:10284  /  回复:11
C1 wijmo for Asp.net 版本20132.133。
关于GridVIew有几个问题,请帮忙看一下。
1. 如果列值全部是数字,并且没有设定格式,结果被自动千分位格式,小数最大2位。
2. 按tab移动列头时,滚动条不随之移动。并且有固定列时,左右两边出现位移。
3.鼠标放在滚动条上,按键盘左右键移动时会出现闪动。

11 个回复

倒序浏览
tenjin
初级会员   /  发表于:2013-11-12 15:38:00
沙发
另外,日期格式成yyyy/MMM/dd好像不起作用。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-11-12 15:50:00
板凳
回复 1楼tenjin的帖子

方便给提供个源码demo吗?

我在你源码基础上修改试试看。

对了,昨天有一个雷同的问题,可以看看这个帖子:http://gcdn.grapecity.com/showtopic-10957.html
回复 使用道具 举报
tenjin
初级会员   /  发表于:2013-11-12 16:35:00
地板
不好意思,关于格式化的字符串数字没问题,不过会自动千分位格式化。
日期格式可能是日文系统原因,如果中文可以的话那就没问题。
附件是个简单的demo。

本帖子中包含更多资源

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

x
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-11-12 18:53:00
5#
回复 4楼tenjin的帖子

Note: Formatting of values is done on the client-side using globalize.min.js library. Use formatting patterns supported by that library, for more information on the library please check https://github.com/jquery/globalize
Examples:
"n" - displays numeric values in number format.
"d" - displays numeric values in decimal format.
"d" - displays date values in short date format.
///
"p" - displays numeric values in percentage format.
"c" - displays numeric values in currency format.


  (C1GridView1.Columns[0] as C1BoundField).DataFormatString = "d0";
  (C1GridView1.Columns[4] as C1BoundField).DataFormatString = "yyyy-MM-dd";

效果截图:





具体例子:
// just for example - will vary by culture
Globalize.format( 123.45, "n" ); // 123.45
Globalize.format( 123.45, "n0" ); // 123
Globalize.format( 123.45, "n1" ); // 123.5

Globalize.format( 123.45, "d" ); // 123
Globalize.format( 12, "d3" ); // 012

Globalize.format( 123.45, "c" ); // $123.45
Globalize.format( 123.45, "c0" ); // $123
Globalize.format( 123.45, "c1" ); // $123.5
Globalize.format( -123.45, "c" ); // ($123.45)

Globalize.format( 0.12345, "p" ); // 12.35 %
Globalize.format( 0.12345, "p0" ); // 12 %
Globalize.format( 0.12345, "p4" ); // 12.3450 %

本帖子中包含更多资源

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

x
回复 使用道具 举报
tenjin
初级会员   /  发表于:2013-11-13 09:44:00
6#
1. 数字格式化的可以设定格式,这可以解决。不知道注意到没,最后一列数值应该是3位小数(999)的,显示时变成2位且为0。难道所有数值必须设定格式来解决?老C1升级后,以前没设定的都有这问题。
2. 另外日期时在月份为3位时有问题。如dd/MMM/yyyy。虽然我在RowDataBound处理(比如03/05/2013 -> 03/May/2013)了,并且显示的HTML里也对,但还是在JS再格式化了。
3. tab切换和滚动条的是问题吗?是的话能解决吗?
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-11-13 11:19:00
7#
回复 6楼tenjin的帖子

1. 数字格式化的可以设定格式,这可以解决。不知道注意到没,最后一列数值应该是3位小数(999)的,显示时变成2位且为0。难道所有数值必须设定格式来解决?老C1升级后,以前没设定的都有这问题。
  答复:你的老C1是什么版本的?   我查阅了C1的文档,其中有一段话,说C1GridView升级过,应该是2年前。  文档链接: C1BoundField.DataFormatString
2. 另外日期时在月份为3位时有问题。如dd/MMM/yyyy。虽然我在RowDataBound处理(比如03/05/2013 -> 03/May/2013)了,并且显示的HTML里也对,但还是在JS再格式化了。
  答复:见下面的截图
3. tab切换和滚动条的是问题吗?是的话能解决吗?
答复:这个问题在我电脑上重现过,但是浮现不稳定:时有、时无。


(C1GridView1.Columns[0] as C1BoundField).DataFormatString = "d0";
(C1GridView1.Columns[4] as C1BoundField).DataFormatString = "yyyy-MMM-dd";
(C1GridView1.Columns[6] as C1BoundField).DataFormatString = "n3";
设置下面3个后的截图:

本帖子中包含更多资源

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

x
回复 使用道具 举报
tenjin
初级会员   /  发表于:2013-11-13 13:04:00
8#
1.通过格式设定确实是可以解决的,老C1不设定也能正常显示,不会出现千分位格式化,升级到新C1就变样了。现在解决办法是全数字且不设定格式时默认d格式。
2.日文确实没办法3位,现在系统要求MMM在日文时,用英文的格式显示。现在解决办法是改option中的culture。
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-11-13 13:41:00
9#
回复 8楼tenjin的帖子



感谢你的分享,学习了。
回复 使用道具 举报
tenjin
初级会员   /  发表于:2013-11-19 09:16:00
10#
2和3问题不给解决吗?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部