2013-05-21 31 views
0

我有一個數據表中的列,當從數據庫中獲取時,其值將爲True或False。 它顯示在gridview中顯示時的複選框。但是,如果值爲真,我想顯示「是」,如果值爲假,則顯示「否」。我怎樣才能做到這一點??如何將複選框更改爲gridview中的字符串

 DataTable dt = DBAction.ExecuteQuery(command,zzz.id); 


     if (dt != null && dt.Rows.Count > 0) 
     { 
      // i want to change here 
      gridTagHistory.DataSource =dt; 
      this.ShowDialog(); 
     } 
+0

可能重複:http://stackoverflow.com/questions/13322430/parse-boolean-value-to-yes-no-in-datagridview-of-vb-net-windows-forms-applicatio – cvraman

+0

你可以循環你gridview –

+0

你應該使用自定義列而不是自動生成它們。那麼你可以使用Converter。 –

回答

2

您可以修改你的SELECT查詢(最推薦)

您可以遍歷DataTable中/ GridView的

foreach (DataRow rw in dt.Rows) 
    { 
    string a = rw["YourBoolColName"].ToString(); 
     if(a=="True") 
     { 
     rw["YourBoolColName"]="Yes"; 
    } 
    else {rw["YourBoolColName"]="No";} 

    } 


foreach (GridViewRow row in GridView1.Rows) 
{ 
    Label myLabel = (Label)row.FindControl("myLabelName"); 
    if(myLabel.text=="True") 
     { 
     myLabel.text="YEs"; 
     } 
    else if(myLabel.text=="False") 
     { 
     myLabel.text="No"; 
     } 

} 
+0

rw [「YourBoolColName」] =「是」;它引發和錯誤不能將bool轉換爲字符串。謝謝你的幫助如何將bool列轉換爲數據表字符串 – eeshwr

+0

@eeshwr:通過添加'.ToString()'它轉換成字符串 –

+0

我試過了,它引發了一個錯誤。 – eeshwr

0

修改您的選擇查詢返回字符串,而不是布爾的值...或在創建數據源之前修改數據集(不推薦)

0

您可以將該列從設計視圖更改爲模板列,然後在標記中可以看到它如何呈現,在這種情況下,它將呈現爲複選框。從這裏您可以將顯示更改爲任何您想要的內容,因此您可以用複選框替換複選框並保持相同的綁定。

Here's an article that describes how to use template columns.

這是值得一讀,即使你不使用它,對於這種情況。模板列允許更多的自由和自定義外觀和與gridview的交互。

0

你可以簡單地在你的sql查詢中寫入大小寫,並從那裏寫入yes或no。並將其綁定到網格視圖中的asp:Boundfield。簡單的解決方案,並會更快,然後逐行遍歷網格視圖。

相關問題