以 MM-DD-YYYY 格式显示日期格式的网格视图

Grid view to display date format in MM-DD-YYYY format

我有一个 gridview,可以根据选中的复选框在单击按钮时显示日期。我使用字符串连接来获取数据以管理 UI 处的动态变化。目前,它默认以这种格式显示 - MM-DD-YYYY 12:00:00 AM,但我需要以 MM-DD-YYYY 格式显示。

使用 BoundField, DataFormatString="{0:d}" HtmlEncode="False",我得到了所需的输出,但无法构建动态 SQL 连接字符串。我参考了教程和网站,但大多数都提供了带有固定 SQL 查询或使用 Gridview 的 "Choose Data Source" 选项的解决方案。就我而言,由于它是动态查询,我猜我无法选择数据源。

是否可以设置特定列的 属性 gridview 以显示所需的格式。?请建议。请用示例代码分享您的想法(会更有帮助)。

代码如下。附上电流输出。

代码:

DataTable GetData(int Count)
{
    DataTable dt = new DataTable();
    string query = "SELECT [NAME], [Date], Duration FROM dbo.OnLeaveDetails WHERE @User = Username AND ";
    string whereClause = "[Leave Type] = ";

    if(CheckBox1.Checked)
        query += whereClause + "@" + <TYPE1>;
    ....
    ....

    Command = new SqlCommand(query, Conn);

    try
    {
        Conn.Open();
        Command.Parameters.Add("User", SqlDbType.NVarChar).Value = Username;

        if (CheckBox1.Checked)
            Command.Parameters.Add(<TYPE>, SqlDbType.NVarChar).Value = LeaveType[0];
        ....
        ....

        SqlDataAdapter adpt = new SqlDataAdapter(Command);
        adpt.Fill(dt);
        Conn.Close();
        return dt;
    }
    catch ()
    {....}
}

protected void Submit_Click(object sender, EventArgs e)
{
    GridView1.DataSource = GetData(count);
    GridView1.DataBind();
}

而不是 [Date] 你应该使用 MS SQL CONVERT 函数:

CONVERT(varchar(10), [Date], 101)

101 = mm/dd/yyyy

您可以通过多种方式格式化您的日期,所有这些都已列出here