请教一个datagridview中某列自动显示时间的问题

jcxpy910 2016-04-06 11:19:03
如题。
代码如下:
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
{ if (e.ColumnIndex == 10) //你需要赋值时间的列
{ e.Value = DateTime.Now; } }
}
加入这个代码过后,datagridview中的第十列,就自动默认显示当前时间了。
但是如果查询以前时间的数据,那么以前的时间(例如2016-3-05)也会显示成今天的时间。请问这个要怎么解决呢,就是说查询以前时间数据则显示为原来的时间而不是现在的时间
...全文
219 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jcxpy910 2016-04-08
  • 打赏
  • 举报
回复
@Poopaye @Poopaye @shingoscar @秋红的果实
秋的红果实 2016-04-08
  • 打赏
  • 举报
回复
要保存,需要写数据库,在e.Value = DateTime.Now;后面"update 表名 set 时间字段名='"+DateTime.Now.ToString()+"'" where ID=‘“+当前键值+"'",这个当前键值,需要绑定到datagrid,并把该键值列设置成隐藏 例如,绑定到dataGridView1时,第一列表示键的列,那么当前键值就是dataGridView1.Rows[e.RowIndex].Cell[0].ToString();
Poopaye 2016-04-07
  • 打赏
  • 举报
回复
废话,你又没往列里写东西,当然是空
jcxpy910 2016-04-07
  • 打赏
  • 举报
回复
你给的代码都没问题,但是这种自动生成的时间数据为什么保存不到数据库中呢?ji点击保存后数据库中该列的数据为空。难道只能显示不能保存吗。。。。 @Poopaye @Poopaye @shingoscar
  • 打赏
  • 举报
回复
insert into or update 需注意的是在时间复制的时候,oracle,sql,access 中是不相同的。
jcxpy910 2016-04-07
  • 打赏
  • 举报
回复
请问怎么能在实现原先功能的前提下还可以将时间保存 @Poopaye @Poopaye @shingoscar
Poopaye 2016-04-06
  • 打赏
  • 举报
回复
if (e.ColumnIndex == 10 && e.Value == DBNull.Value) //你需要赋值时间的列     
{
     e.Value = DateTime.Now;
}
Poopaye 2016-04-06
  • 打赏
  • 举报
回复
if (e.ColumnIndex == 10 && e.Value != DBNull.Value) //你需要赋值时间的列 { e.Value = DateTime.Now; }
秋的红果实 2016-04-06
  • 打赏
  • 举报
回复
首先说明下“查询以前时间数据”,什么才是以前的时间?是今天0时0分0秒的以前吗,那样的话

if (e.ColumnIndex == 10 && Convert.ToDateTime(e.Value )>= DateTime.Now.Date) 
{
     e.Value = DateTime.Now;
}
大鱼> 2016-04-06
  • 打赏
  • 举报
回复
在你if()添加一个条件,如果你获取的时间为空或者为datatime,minvalue这 执行e.Value = DateTime.Now; 否则执行 e.value=你获取的值;

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧