请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

qiuzhilv007

中级会员

34

主题

85

帖子

620

积分

中级会员

积分
620

活字格认证微信认证勋章

qiuzhilv007
中级会员   /  发表于:2015-11-19 19:54  /   查看:5141  /  回复:4
对于超过设定范围的值,在给GcNumbercell设定值时会异常崩掉。
这种值有何属性可以使其转换一下。还是在赋值时挨个取判断?
因在DB中取值后直接绑到DataSource上,如果没有属性可以控制的话,只能通过遍历结果集来判断所有GcNumberCell的值是否超过其范围吗?
有没有好用的方法

4 个回复

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

谢谢您的反馈。
您是说GCNumber上设置了设定范围的值,然后数据绑定的值是超出这个范围的,然后会出现异常?
然后这个值是从DB取值,这部分控件无法操控。
如果要控制这部分值,那么就需要自己去判断和修改DB本身的取值,然后再绑定。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Carl
版主   /  发表于:2015-11-20 13:39:00
板凳
方案一,通过处理DataError事件,可以让MultiRow在这种情况下不要弹出警告框。这个行为和微软的DatGridView是一致的。你也可以在这个事件里修改Cell的Value。
        void gcMultiRow1_DataError(object sender, DataErrorEventArgs e)
        {
            e.ThrowException = false;
        }
方案二,处理CellFormatting事件。这个事件在每个Cell要刷新之前触发,在这个事件里可以修正Cell的Value。
        void gcMultiRow1_CellFormatting(object sender, CellFormattingEventArgs e)
        {
            if (e.CellIndex == 4 && e.Value != null)
            {
                int i = (int)e.Value;
                if (i < 1)
                {
                    e.Value = 1;
                }
                if (i > 10)
                {
                    e.Value = 10;
                }
            }
        }

评分

参与人数 1金币 +1998 满意度 +5 收起 理由
frank.zhang + 1998 + 5 thanks

查看全部评分

愿 Engine 归于沉寂,Timer 停止运动,Message Queue 不再流淌,Data Source 为我掌握
回复 使用道具 举报
qiuzhilv007
中级会员   /  发表于:2015-11-24 15:02:00
地板
非常感谢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-24 16:32:00
5#
回复 4楼qiuzhilv007的帖子

谢谢您的反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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