找回密码
 立即注册

QQ登录

只需一步,快速开始

barrylei
中级会员   /  发表于:2011-5-23 10:38:00
11#

回复 9# chenf1980 的帖子

你不要再OnCellValidating里改,要在定义模板的地方改,就是生成模板的那个地方,Template.Designer.vb的InitializeComponent里。(这块改了以后,如果再次在Designer里修改模板,可能会丢掉)
或者在FormLoad里改,写下面的Code,(我用的C#,你可能要转成VB)

  1. Template template = this.gcMultiRow1.Template;  //先把模板取出来
  2. template.Row.Cells[0].ValueType = typeof(Int64); //修改你想要改的Cell的ValueType,作为例子,我设的是Cell(0)
  3. this.gcMultiRow1.Template = template;// 再把模板赋回去
复制代码
回复 使用道具 举报
neil
论坛元老   /  发表于:2011-5-23 10:46:00
12#

回复 6# chenf1980 的帖子

不明白你为什么要自己处理CellFormatting事件。

不过你上面改ValueType的时机不对。
应该是在模板的构造函数中,  在调用InitializeComponent()之后, 添加语句改ValueType.

比如:
public Template2()
        {
            InitializeComponent();
            this.numericUpDownCell1.ValueType = typeof(Int64);
        }

运行起来之后,你可以在监视窗口中查看ValueType属性是否该成功了,如果改成int64还是有异常,请直接改为Decimal。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部