环境:.net 2003 sql server2000 如下
<asp:DataGrid id="grdInfo" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundColumn DataField="PublishDate" HeaderText="时间" DataFormatString="{0:yyyy-MM-dd}"></asp:BoundColumn>
<asp:BoundColumn DataField="Salary" HeaderText="金额" DataFormatString="{0:c}"></asp:BoundColumn>
/Columns>
</asp:DataGrid>
后台:
DataTable dt ;
dt = db.Select(" Select * from t_familyTeacher ");
grdInfo.DataSource= dt;
grdInfo.DataBind();运行显示如下:
时间 金额
2005-11-14 15:08:17 223.0000
2005-11-17 9:29:00 23.0000 为什么显示时,格式不起作用呢?
高手,帮忙
<asp:DataGrid id="grdInfo" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundColumn DataField="PublishDate" HeaderText="时间" DataFormatString="{0:yyyy-MM-dd}"></asp:BoundColumn>
<asp:BoundColumn DataField="Salary" HeaderText="金额" DataFormatString="{0:c}"></asp:BoundColumn>
/Columns>
</asp:DataGrid>
后台:
DataTable dt ;
dt = db.Select(" Select * from t_familyTeacher ");
grdInfo.DataSource= dt;
grdInfo.DataBind();运行显示如下:
时间 金额
2005-11-14 15:08:17 223.0000
2005-11-17 9:29:00 23.0000 为什么显示时,格式不起作用呢?
高手,帮忙
也试过了,不起作用并且是新建的工程,其他都没改变,在两台机器上试了都不行!!
格式字符 说明
C 以货币格式显示数值。
D 以十进制格式显示数值。
E 以科学记数法(指数)格式显示数值。
F 以固定格式显示数值。
G 以常规格式显示数值。
N 以数字格式显示数值。
X 以十六进制格式显示数值。
<asp:BoundColumn DataField="PublishDate" HeaderText="时间" DataFormatString="{0:D}"></asp:BoundColumn>d 短日期
D 长日期
f 完整
或者在SQL语句中转换:
select CONVERT(varchar(12) , getdate(), 111 )
如:2005/11/17
查找“格式, 命名的”很详细
1、把数据源换成DataSet或SqlDataReader试试。
2、在查询时格式化Select left(CONVERT(varchar, PublishDate, 120),10) as PublishDate from table