在dbgrid中显示sqlserver中的datatime类型时,显示为2003-8-20 00:00:00,我只想要日期,不想要时间,因该如何解决? 你可以在插入数据库的时候进行处理,也可以在选择出结果的时候,进行日期格式化也可以在datagrid的列绑定中用验证控件将结果处理为{0:D}格式 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DataFormatString=""{0:D}<asp:BoundColumn DataField="NAddTime" SortExpression="NAddTime" HeaderText="添加时间" DataFormatString="{0:D}"> 回复人: dattotzy(酋长) ( ) 信誉:100 2003-08-25 12:55:00 得分:0 你可以在插入数据库的时候进行处理,也可以在选择出结果的时候,进行日期格式化也可以在datagrid的列绑定中用验证控件将结果处理为{0:D}格式 --------------------------------------同意出结果时候进行日期格式化。多看看帮助吧,里面有详细解释。 打错!!应该是:DataFormatString="{0:D}" <asp:BoundColumn DataField="f_time" HeaderText="时间" DataFormatString="{0:yyyy-MM-dd}">....</asp:BoundColumn> 截取它的长度啊如果是在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) } } 我的dbgrid中的内容是在程序中动态填入的,我在属性中找不到dataformatstring这个属性;我用的是vb.net,在.net自带的帮助也查了一遍,好像没查到, <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 可在查询时用to_date(),to_char()和substr()方法来进行格式化.也可在查询后在代码里用substring()来进行截取.或把它转化成日期格式后datatime.parse()再toshortdatestring(); date.tostring("yyyymmdd"),得到的是字符串。只有日期,如20031210 DateTime.Parse(dtInfo.Rows[0]["EDate"].ToString()).Date.ToString("yyyy-M-dd"); 也可以这样txtEDate.Text = ((DateTime)dtInfo.Rows[0]["EDate"]).Date.ToString("yyyy-M-d");dtInfo 为一个表,“EDate”为日期字段 c#:<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.列名","{0:d}") %>'></asp:label> 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) 則指定要顯示的有效數字位數或小數位數。如需格式字串的詳細資訊,請參閱 格式化概觀 。 这个有没有更好的写法 一行两列数据如何打印? C# DataBinding 事件不触发 郁闷了 纳闷了,研究petshop,竟然发现一个函数定义的时候没定义返回类型,也没有void关键字。你们来看看。 如何限制只能输入 中文 英语 数字和下划线啊 ~~ 再提一个有关MEMBERSHIP的问题 关于()与[]的问题 跳转页面及javascript的问题 第一次接触ubb。请教有了正则表达后怎么掉用? 不明白用的是一个什么思路实现的ubb的 在datalist中如何删除选定的记录? 怎样将数据库数据绑定到TEXTBOX控件呀?在线急等!!! 一个简单的问题!送分!!!!!(在线等待!!!)
你可以在插入数据库的时候进行处理,也可以在选择出结果的时候,进行日期格式化
也可以在datagrid的列绑定中用验证控件将结果处理为{0:D}格式
--------------------------------------
同意出结果时候进行日期格式化。多看看帮助吧,里面有详细解释。
应该是:
DataFormatString="{0:D}"
....
</asp:BoundColumn>
如果是在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)
}
}
或:
Dim item As DataGridItem
For Each item In DataGrid1.Items item.Cells(3).Text = item.Cells(3).Text.Substring(0, 8)
Next
或把它转化成日期格式后datatime.parse()
再toshortdatestring();
txtEDate.Text = ((DateTime)dtInfo.Rows[0]["EDate"]).Date.ToString("yyyy-M-d");dtInfo 为一个表,“EDate”为日期字段
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.列名","{0:d}") %>'></asp:label>
使用 DataFormatString 屬性提供資料行中項目的自訂格式。資料格式字串的格式為 { A: Bxx },由兩個以冒號區隔的部份所組成。例如,格式字串 {0:F2} 以兩位小數位數顯示固定點數。注意 整個字串必須置於大括號中,以表示它是格式字串而非常值 (Literal) 字串。大括號以外的任何文字將顯示為常值文字。
冒號前的值 (一般範例中為 A) 指定參數的以零起始清單中的參數索引。注意 因為每一個儲存格只能有一個值,所以這個值只能設為 。
冒號後的字元 (一般範例中為 B) 指定用以顯示值的格式。下列表格列出通用的格式。格式字元 說明
C 以貨幣格式顯示數值。
D 以十進位格式顯示數值。
E 以科學記號 (指數) 格式顯示數值。
F 以固定格式顯示數值。
G 以一般格式顯示數值。
N 以數字格式顯示數值。
X 以十六進位格式顯示數值。 注意 除 X 將依所指定的大小寫顯示十六進位字元之外,格式字元不區分大小寫。
格式字元後的值 (一般範例中為 xx) 則指定要顯示的有效數字位數或小數位數。如需格式字串的詳細資訊,請參閱 格式化概觀 。