页面显示,将数据库的数字值 显示为时间的格式!!
conn.Open();
OleDbCommand cmd = new OleDbCommand( "SELECT PART_NO, SHOP_NO, OP_NO, MACH_NO, LABOR, START, STOP, DUE_DATE, QTY, DEPT_NO FROM nqry_Optimized_Schedule ", conn);
DataSet ds = new DataSet();
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
adapter.Fill(ds, "nqry_Optimized_Schedule ");
DataShow.DataSource = ds.Tables[ "nqry_Optimized_Schedule "].DefaultView;
DataShow.DataBind();
DataShow.PagerStyle.Visible = false;
ShowStats();
相应的html的datashow程序有:
<asp:BoundColumn DataField= "START " HeaderText= "Start ">
<HeaderStyle Height= "25px " Width= "10% "> </HeaderStyle> </asp:BoundColumn>
<asp:BoundColumn DataField= "STOP " HeaderText= "STOP " >
<HeaderStyle Height= "25px " Width= "10% "> </HeaderStyle> </asp:BoundColumn>
以上是一个asp.net application 的一个文件的部分程序,我的问题是:在access数据库中start and stop是OLEOA 的格式,不是时间的格式,比如说一个值是39172.0446, 现在我的程序会将这些数据的值在页面上显示出来,但是我希望显示出来的不是这些double数字格式,而是时间格式,像2007-02-10 18:20:22 这样, 请问以上的程序要做哪些改动才能得到这样的结果? 谢谢!!
------解决方案--------------------很简单,用模板列,然后里面绑定的时候用:
<%# DateTime.FromOATime((float)Eval( "字段名 "))%>
那个方法是否叫 FromOATime我不太记得,反正有from和OA,并且输入参数是个浮点数字(忘记是float还是double了,返回值是DateTime)有代码提示的嘛,你自己按个点就出来了,绝对有的
------解决方案-------------------- <%# DateTime.FromOADate((double)Eval( "STOP "))%>
------解决方案-------------------- <asp:BoundColumn DataField= "START " HeaderText= "Start ">
<HeaderStyle Height= "25px " Width= "10% ">
</HeaderStyle>
<Item...>
<%# DateTime.FromOATime((float)Eval( "START "))%>
</Item..>
</asp:BoundColumn>