某个DataTable中的DataColumn为DateTime类型时,绑定到TextBox后怎样让它不显示时间部分?
从数据库填充进DataTable之前已经在sql语句中用了to_date(字段,'yyyy-mm-dd'),但TextBox绑定到该字段后仍显示为包括时间的日期格式。数据已经填充进DataTable的状态下,还要一行一行的重新格式化我觉得不够效率,有什么别的办法吗?似乎有个Binding的Fomat或Parse事件可以利用,哪位能不能举个例子?

解决方案 »

  1.   

    数据从数据库中取出时就定义好类型。
    Without century (yy) With century (yyyy) 
    Standard 
    Input/Output** 
    - 0 or 100 (*)  Default mon dd yyyy hh:miAM (or PM) 
    1 101 USA mm/dd/yy 
    2 102 ANSI yy.mm.dd 
    3 103 British/French dd/mm/yy 
    4 104 German dd.mm.yy 
    5 105 Italian dd-mm-yy 
    6 106 - dd mon yy 
    7 107 - Mon dd, yy 
    8 108 - hh:mm:ss 
    - 9 or 109 (*)  Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM) 
    10 110 USA mm-dd-yy 
    11 111 JAPAN yy/mm/dd 
    12 112 ISO yymmdd 
    - 13 or 113 (*)  Europe default + milliseconds dd mon yyyy hh:mm:ss:mmm(24h) 
    14 114 - hh:mi:ss:mmm(24h) 
    - 20 or 120 (*)  ODBC canonical yyyy-mm-dd hh:mi:ss(24h) 
    - 21 or 121 (*)  ODBC canonical (with milliseconds) yyyy-mm-dd hh:mi:ss.mmm(24h) 
    - 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(no spaces) 
    - 130* Kuwaiti dd mon yyyy hh:mi:ss:mmmAM 
    - 131* Kuwaiti dd/mm/yy hh:mi:ss:mmmAM 
      

  2.   

    String.Format("{yyyy-MM-dd}", DataBinder.Eval(Container.DataItem, "datefield"))
      

  3.   

    TextBox1.Text=DataTable1.Rows[0]["字段"].ToString("yyyy-mm-dd");
      

  4.   

    datatable[i][j].ToString("yyyy-mm-dd");
      

  5.   

    http://community.csdn.net/Expert/topic/3983/3983227.xml?temp=.9634668
    应该和这个问题差不多
      

  6.   

    Binding b = new Binding("Text",dv,"myDate");
    b.Format += new ConvertEventHandler(LongTimeToShort);
    textBoxMyDate.DataBindings.Add(b);private void LongTimeToShort(object sender, ConvertEventArgs cevent)
    {
    cevent.Value = ((DateTime)cevent.Value).ToShortDateString();
    }实际上我用了如上代码,效果是出来了,但不知其所以然。
    winform
      

  7.   

    有没有更好的办法?目前为止这是俺最后一个还没结贴的贴子。大家还有什么要补充的吗?
    对了,强调一下,是winform应用。
      

  8.   

    ((DateTime)cevent.Value).ToShortDateString();
      

  9.   

    select to_char(字段,'yyyy-mm-dd') as xx from Table