数据库里的时间是2006-9-23 18:57:55这样的格式,我在该怎样做才能在DateGird里显示为2006-9-23,也就是显示日期,不显示时间.希望不要用模板列解决.在线等.

解决方案 »

  1.   

    在数据库选出时将日期格式转换成字符串格式方法参考
    select convert(varchar(10),你的日期字段, 120) from 你的表
      

  2.   

    select substring(datetimevar,1,10) from datetimeselect
      

  3.   

    <asp:boundcolumn datafield="EndTime" dataformatstring="{0:yyyy-MM-dd}">
      

  4.   

    chinchy(糟老头) ,我试了,不行啊。rickjelly2004(rick & jelly),substring(datetimevar,1,10)这句是什么意思?
      

  5.   

    rickjelly2004(rick & jelly),你是想提取前面10个字符出来?
      

  6.   

    <asp:boundcolumn datafield="EndTime" formatstring="{0:yyyy-MM-dd}">
      

  7.   

    在绑定列中添加格式化属性:
    <asp:boundcolumn datafield="EndTime" formatstring="{0:yyyy-MM-dd}">
    或者在写sql的时候格式化:
    select convert(varchar(10),EndTime, 120) as FormatedEndTime from Table
      

  8.   

    多谢各位,我试过了,在绑定列的格式化属性里设置{0:yyyy-MM-dd}或{0:d}都不行
      

  9.   

    试试这个
    在 MyDataGrid_ItemDataBound 事件中
    If e.Item.Cells(a).Text.Length > 10 Then
                    
           e.Item.Cells(a).Text = e.Item.Cells(a).Text.Substring(0, 10)
    endif如果字符长度>10
    意思是只显示前10个字符
    a代表datagrid控件的第a行,从0开始数
      

  10.   

    多谢,如果是2004-1-1 9:06:09的会显示出2004-1-1 9这个样子,我刚发现,原来我的日期忘了设置为smalldatetime,原来是varchae型,不好意思。
    所以0:yyyy-MM-dd}或{0:d}都行的。