2015-06-21 66 views
1

根据所选的复选框,我有一个gridview在按钮单击时显示日期。我已经使用字符串连接来获取数据来管理UI上的动态更改。目前,它以这种格式显示 - MM-DD-YYYY 12:00:00 AM,但我需要它的格式为MM-DD-YYYY以MM-DD-YYYY格式显示日期格式的网格视图

BoundField, DataFormatString="{0:d}" HtmlEncode="False",我得到所需的输出,但我不能建立动态SQL连接字符串。我已经提到了教程和网站,但大多数人都提供了使用固定SQL查询或使用Gridview的“选择数据源”选项的解决方案。就我而言,因为它的动态查询,我不能选择数据源。

是否可以设置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(); 
} 
+0

你使用哪个数据库? – John

+0

其MS SQL Server。 – Vasanth

回答

1

,而不是[Date]你应该使用MS SQL CONVERT功能:

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

101 = MM/DD/YYYY

可以格式化在很多方面你的约会,他们都列出了here

+0

是的。谢谢。这工作..! – Vasanth

+0

好吧。我刚刚注意到转换后,日期正确显示,但标题显示为“Column1”。 如果我不转换日期格式,标题填充正确。任何建议来解决这个问题。? – Vasanth

+1

'CONVERT(varchar(10),[Date],101)as Name' – John