在dbgrid中显示sqlserver中的datatime类型时,显示为2003-8-20 00:00:00,我只想要日期,不想要时间,因该如何解决?

zhy741209 2003-08-25 12:52:59
我通过dbgrid.bind()绑定sqlServe中的表,(用select语句选出的)在dbgrid 中显示datetime类型数据,我只想要日期,不想要时间,但在dbgrid中显示sqlserver中的datatime类型时,显示为2003-8-20 00:00:00,我只想要日期,不想要时间,因该如何解决?
...全文
124 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞行石 2003-08-25
  • 打赏
  • 举报
回复
回复人: dattotzy(酋长) ( ) 信誉:100 2003-08-25 12:55:00 得分:0


你可以在插入数据库的时候进行处理,也可以在选择出结果的时候,进行日期格式化
也可以在datagrid的列绑定中用验证控件将结果处理为{0:D}格式


--------------------------------------
同意出结果时候进行日期格式化。多看看帮助吧,里面有详细解释。
码视野 2003-08-25
  • 打赏
  • 举报
回复
DataFormatString=""{0:D}

<asp:BoundColumn DataField="NAddTime" SortExpression="NAddTime" HeaderText="添加时间" DataFormatString="{0:D}">
酋长 2003-08-25
  • 打赏
  • 举报
回复
你可以在插入数据库的时候进行处理,也可以在选择出结果的时候,进行日期格式化
也可以在datagrid的列绑定中用验证控件将结果处理为{0:D}格式
johnlenfu 2003-08-25
  • 打赏
  • 举报
回复
ms-help://MS.NETFrameworkSDKv1.1.CHT/cpref/html/frlrfSystemWebUIWebControlsBoundColumnClassDataFormatStringTopic.htm :


使用 DataFormatString 屬性提供資料行中項目的自訂格式。

資料格式字串的格式為 { A: Bxx },由兩個以冒號區隔的部份所組成。例如,格式字串 {0:F2} 以兩位小數位數顯示固定點數。

注意 整個字串必須置於大括號中,以表示它是格式字串而非常值 (Literal) 字串。大括號以外的任何文字將顯示為常值文字。
冒號前的值 (一般範例中為 A) 指定參數的以零起始清單中的參數索引。

注意 因為每一個儲存格只能有一個值,所以這個值只能設為 。
冒號後的字元 (一般範例中為 B) 指定用以顯示值的格式。下列表格列出通用的格式。

格式字元 說明
C 以貨幣格式顯示數值。
D 以十進位格式顯示數值。
E 以科學記號 (指數) 格式顯示數值。
F 以固定格式顯示數值。
G 以一般格式顯示數值。
N 以數字格式顯示數值。
X 以十六進位格式顯示數值。

注意 除 X 將依所指定的大小寫顯示十六進位字元之外,格式字元不區分大小寫。
格式字元後的值 (一般範例中為 xx) 則指定要顯示的有效數字位數或小數位數。

如需格式字串的詳細資訊,請參閱 格式化概觀 。
afxucamd 2003-08-25
  • 打赏
  • 举报
回复
c#:
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.列名","{0:d}") %>'></asp:label>
gwycsdn 2003-08-25
  • 打赏
  • 举报
回复
也可以这样
txtEDate.Text = ((DateTime)dtInfo.Rows[0]["EDate"]).Date.ToString("yyyy-M-d");

dtInfo 为一个表,“EDate”为日期字段
gwycsdn 2003-08-25
  • 打赏
  • 举报
回复
DateTime.Parse(dtInfo.Rows[0]["EDate"].ToString()).Date.ToString("yyyy-M-dd");
sweet12345 2003-08-25
  • 打赏
  • 举报
回复
date.tostring("yyyymmdd"),得到的是字符串。只有日期,如20031210
BenZ004 2003-08-25
  • 打赏
  • 举报
回复
可在查询时用to_date(),to_char()和substr()方法来进行格式化.

也可在查询后在代码里用substring()来进行截取.
或把它转化成日期格式后datatime.parse()
再toshortdatestring();
guoyan19811021 2003-08-25
  • 打赏
  • 举报
回复
<asp:BoundColumn DataField="usercode" DataFormatString="{0:d}">
或:
Dim item As DataGridItem
For Each item In DataGrid1.Items

item.Cells(3).Text = item.Cells(3).Text.Substring(0, 8)
Next
zhy741209 2003-08-25
  • 打赏
  • 举报
回复
我的dbgrid中的内容是在程序中动态填入的,我在属性中找不到dataformatstring这个属性;我用的是vb.net,在.net自带的帮助也查了一遍,好像没查到,
nakey2008 2003-08-25
  • 打赏
  • 举报
回复
截取它的长度啊
如果是在DataGrid中显示,在它呈现出来之前改变它:
private void DataGrid1_PreRender(object sender, System.EventArgs e)
{
foreach (DataGridItem item in DataGrid1.Items)
{
item.Cells[3].Text=item.Cells[3].Text.Substring(0,8)
}
}
qiuji 2003-08-25
  • 打赏
  • 举报
回复
<asp:BoundColumn DataField="f_time" HeaderText="时间" DataFormatString="{0:yyyy-MM-dd}">
....
</asp:BoundColumn>
cnhgj 2003-08-25
  • 打赏
  • 举报
回复
string.format({0:D},xxx);
码视野 2003-08-25
  • 打赏
  • 举报
回复
打错!!


应该是:
DataFormatString="{0:D}"

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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