在2012/11/01至2012年11月格式的下拉列表中设置日期格式C#

时间:2013-11-20 13:44:38

标签: c#

大家好我需要C#的帮助,如何使用DataTextFormatingString格式化dataTextField和日期。

    monstart.DataSource = dt;

   monstart.DataTextField = "Period";//This return 2012/11/01, and i want to display it as November 2012
   monstart.DataValueField = "SalaryMonthYear"; 
   //monstart.DataTextFormatString = "";
   monstart.DataBind();
   monstart.Items.Insert(0, " ");

3 个答案:

答案 0 :(得分:5)

您只需设置格式:

monstart.DataTextFormatString = "{0:MMMM yyyy}";

解决我们关于是否允许自定义格式的问题。代码调用DataBinder.GetPropertyValue,并使用常规string.Format进行格式设置:

// .NET DataBinder class
public static string GetPropertyValue(object container, string propName,
    string format)
{
    object propertyValue = DataBinder.GetPropertyValue(container, propName);
    if (propertyValue == null || propertyValue == DBNull.Value)
    {
        return string.Empty;
    }
    if (string.IsNullOrEmpty(format))
    {
        return propertyValue.ToString();
    }
    return string.Format(format, propertyValue);
}

因此表明自定义格式将在此范围内运行。

答案 1 :(得分:1)

您可以使用以下格式:

   monstart.DataTextFormatString = "MMMM dd. yyyy"

答案 2 :(得分:0)

试试这个。

monstart.DataTextFormatString = "{MMMM yyyy}";