找回密码
 立即注册

QQ登录

只需一步,快速开始

yty

注册会员

14

主题

28

帖子

128

积分

注册会员

积分
128
yty
注册会员   /  发表于:2018-11-22 17:40  /   查看:2939  /  回复:3
拟使用C1ComboBox作为C1FlexGrid的Editor,于是写以下代码(建立一个空白WinForm程序,Form1.cs为以下内容):

using System;
using System.Windows.Forms;
using C1.Win.C1FlexGrid;
using C1.Win.C1Input;

namespace WinFormTest
{
  public partial class Form1 : Form
  {
    private C1FlexGrid grid = new C1FlexGrid();
    private C1ComboBox combo = new C1ComboBox();
    public Form1()
    {
      InitializeComponent();
      grid.Cols[1].Editor = combo;
      grid.Cols[1].DataType = typeof(DateTime);
      grid.GetCellRange(1, 1).StyleNew.DataType = typeof(string);
      Controls.Add(grid);
    }
  }
}


在(1,1)单元格中输入任意字符(例如"a"),并退出编辑(例如点击其他单元格),控件会报错;

未能找到任何办法干预此行为,特此求助

本帖子中包含更多资源

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

x

3 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2018-11-23 13:52:32
沙发
您好,我看到您这一列是时间类型,但是a 不能被格式化为时间日期。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
yty
注册会员   /  发表于:2018-11-26 12:27:06
板凳
JeffryLI 发表于 2018-11-23 13:52
您好,我看到您这一列是时间类型,但是a 不能被格式化为时间日期。

麻烦您仔细看下代码。
grid.Cols[1].DataType = typeof(DateTime);
grid.GetCellRange(1, 1).StyleNew.DataType = typeof(string);

就(1,1)单元格而言,其列的格式设为了DateTime,其单元格格式也设置了,DataType设为string,就会有这个错误。不是"a"不能转换为日期型的问题,即使输入"2018/11/26"之类字符串也会报错,而且弹出的错误框写着 值"a"不能转换为目标类型System.String,这显然不合逻辑。
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2018-11-28 15:27:40
地板
不好意思,是在很抱歉,漏贴了,我会按你说的测试下。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部