找回密码
 立即注册

QQ登录

只需一步,快速开始

xiafu568

初级会员

41

主题

84

帖子

291

积分

初级会员

积分
291

活字格认证微信认证勋章

xiafu568
初级会员   /  发表于:2013-6-7 17:04  /   查看:5451  /  回复:4
有datetime类型数据,绑定后该列直接变成时间类型,初始化值为“0001-1-1 0:00:00”
设置了FpSpread1_Sheet1.DataAutoCellTypes = False也不行
求怎么取消初始化值啊?

4 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-6-7 17:57:00
沙发
回复 1楼xiafu568的帖子

xiafu568 你好,

请问你期望的显示形式是什么?如果不自动生成单元格类型,那么会按照数据库中的文本值来显示。测试代码如下:

  1. private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             DataTable dt = new DataTable();
  4.             dt.Columns.Add("日期列", typeof(System.DateTime));
  5.             dt.Rows.Add(DateTime.Now.ToString());
  6.             dt.Rows.Add(DateTime.Now.ToString());

  7.             this.fpSpread1.Sheets[0].DataAutoCellTypes = false;
  8.             this.fpSpread1.Sheets[0].DataSource = dt;

  9.         }
复制代码
回复 使用道具 举报
xiafu568
初级会员   /  发表于:2013-6-8 09:16:00
板凳
回复 2楼iceman的帖子

我绑定之后加入了新行,可是新行的时间列都给我初始化成0001-1-1这样了,而数据库中数据格式最少是1753-1-1,所以时间数据如果不编辑的话根本插不进去
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-6-8 09:56:00
地板
回复 3楼xiafu568的帖子

你好,
我使用以下代码没能重现问题,添加行后,新行中单元格文本为空。

  1. private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             DataTable dt = new DataTable();
  4.             dt.Columns.Add("日期列", typeof(System.DateTime));
  5.             dt.Rows.Add(DateTime.Now.ToString());
  6.             dt.Rows.Add(DateTime.Now.ToString());

  7.             //this.fpSpread1.Sheets[0].DataAutoCellTypes = false;
  8.             this.fpSpread1.Sheets[0].DataSource = dt;


  9.         }

  10.         private void addRowToolStripMenuItem_Click(object sender, EventArgs e)
  11.         {
  12.             this.fpSpread1.Sheets[0].Rows.Add(0, 1);
  13.         }
复制代码


效果图:

Demo1.gif
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-6-8 09:56:00
5#
回复 4楼iceman的帖子

所以,能否请你发重现问题的 Demo 或 代码片段到论坛调试?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部