2015-06-21 64 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