BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / dot-net / #3112同步于 2011/7/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖

C# 中datagridview显示数据库中的date类型,如何可以只显示日期

nutc
2011/7/10镜像同步10 回复
存放的比如是2011-7-10,但是显示出来的都是2011-7-10 00:00:00 ,如何可以做到只显示2011-7-10? 跪求高手指点~
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
wangjianzhou机器人#1 · 2011/7/10
最简单的将原来的字符截取前10位,str.substring(0,10)
whui机器人#2 · 2011/7/10
DataFormatString=”{0:yy-MM-dd}”
nutc机器人#3 · 2011/7/10
这个需要对datagridview里面某一列进行遍历的操作,会比较麻烦一些,有没有就是直接一个属性就可以设置的啊? 【 在 wangjianzhou 的大作中提到: 】 : 最简单的将原来的字符截取前10位,str.substring(0,10) : --
nutc机器人#4 · 2011/7/10
编的是windows程序,没有看到有这个属性啊 【 在 whui 的大作中提到: 】 : DataFormatString=”{0:yy-MM-dd}” : --
whui机器人#5 · 2011/7/10
gridview的boundcolumn的属性
whui机器人#6 · 2011/7/10
比如你列叫RecordDate,你这个绑定列肯定是把DataField设成RecordDate,表示这一列绑定你的datasource的RecordDate这一列。 DataFormatString表示这一列用什么形式display出来,但是这里能用的方式比较有限。
wangjianzhou机器人#7 · 2011/7/10
【 在 nutc 的大作中提到: 】 : 这个需要对datagridview里面某一列进行遍历的操作,会比较麻烦一些,有没有就是直接一个属性就可以设置的啊? : 【 在 wangjianzhou 的大作中提到: 】 : : 最简单的将原来的字符截取前10位,str.substring(0,10) : ................... 绑定的话: <asp:BoundField HeaderText="预定日期" DataField="你的日期字段名" DataFormatString="{0:yyyy-MM-dd}"/> 模板显示的化:<%# Eval("你的日期字段名").ToString().substring(0,10) %> 分层绑定的话,后台数据处理时两者都可以用。
whui机器人#8 · 2011/7/10
【 在 wangjianzhou 的大作中提到: 】 : : 这个需要对datagridview里面某一列进行遍历的操作,会比较麻烦一些,有没有就是直接一个属性就可以设置的啊? : : 【 在 wangjianzhou 的大作中提到: 】 : : : 最简单的将原来的字符截取前10位,str.substring(0,10) : ................... 嗯,这样也可以,不过IDE里没法这么设置。另外再复杂一点的话,比如还要join别的数据源之类的,就只能DatarowBound里设置了
nutc机器人#9 · 2011/7/26
感谢上面各位同学的指点 不过我c#水平有限,看不太懂= = 之前采用的方式是 dataGridView1[8, i].Value = (Object)dataGridView1[8, i].Value.ToString().Substring(0, dataGridView1[8, i].Value.ToString().IndexOf(" ") == -1 ? dataGridView1[8, i].Value.ToString().Length : dataGridView1[8, i].Value.ToString().IndexOf(" ")); 截取字段中 空格前的字符串,同时要判断是否存在空格(因为有些内容会很神奇的只显示日期不显示时间..) 这个方法可以解决问题,但是真的好慢好慢啊 网上找了挺多的方法,如dataGridView1.Columns[8].DefaultCellStyle.Format = "d";或是直接在datagridview属性里设置都不行 但今天终于找到可以解决的了! 热泪盈眶啊 private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.ColumnIndex == 8 || e.ColumnIndex==9 )//假设第3列为显示日期的列 { e.Value = Convert.ToDateTime(e.Value).ToShortDateString(); } } 也是对字符进行转换,但是比我的方式快多了 赞!