4

我正在从数据集(_dsst)中检索日期值并将它们填充到下拉列表(drpStartYear)中。

由于我将日期存储为日期时间数据类型,因此我将日期值获取为mm-dd-yyyy 00:00:00,其中00:00:00是时间。但我只需要在下拉列表中以dd-mm-yyyy格式获取日期。我尝试使用datatextformatstring,但它不起作用。

下面是代码:

 drpStartYear.DataSource = _dstt.Tables["tbSettings"].DefaultView;    
 drpStartYear.DataValueField = "StartDate";    

 drpStartYear.DataTextFormatString = "{0:d}";   
 drpStartYear.DataBind();    
4

5 回答 5

9
drpStartYear.DataTextFormatString = "{0:dd-MM-yyyy}";

编辑:添加:

drpStartYear.DataTextField = "StartDate";
于 2013-06-17T11:21:10.897 回答
3

您还必须设置 DataTextField -

  drpStartYear.DataValueField = "StartDate";

  drpStartYear.DataTextField = "StartDate";
  drpStartYear.DataTextFormatString = "{0:dd-MM-yyyy}";
  drpStartYear.DataBind();
于 2013-06-17T11:32:55.857 回答
2
drpStartYear.DataTextFormatString = "{0:dd-MM-yyyy}";
drpStartYear.DataTextField = "StartDate";

或者您可以在标记中进行如下设置:

<asp:DropDownList
id="drpStartYear"
runat="server"
DataTextField = "StartDate"
DataTextFormatString="{0:dd-MM-yyyy}"/>
于 2013-06-17T11:21:20.803 回答
0

下面的代码对我有用,我使用的是 DataValueField,它不允许我使用 DataTextFormatString,所以当我将它更改为 DataTextField 时,我得到了预期的结果:)

 drpStartYear.DataSource = _dstt.Tables["tbSettings"].DefaultView;    
 drpStartYear.DataTextField = "StartDate";  

 drpStartYear.DataTextFormatString = "{0:d}";   
 drpStartYear.DataBind();  
于 2013-06-17T11:40:33.167 回答
-1

你试过了吗:

drpStartYear.DataTextFormatString = "0:dd/MM/yyyy HH:mm:ss";  
于 2013-06-17T11:23:13.147 回答