2012-01-25 34 views
1

我有一個帶有動態數據源的gridview。用於布爾列的DataFormatString

我在代碼隱藏中添加列。

BoundField col=new BundField(); 
col.DataField="Active"; 
col.DataFormatString=//DataFormatString; 
gridview1.Columns.Add(col); 

如何設置布爾列的yes/no?

回答

0

你可以像這樣

dataformatstring="{0:Yes/No}" 
+0

謝謝,我使用此代碼,但顯示0/1 –

0

使用dataformatstring = 「{0:是/否}」;

0

我會做與SQL,作爲選擇數據時:

select id, fname, (case when Active = 'true' then 'Yes' else 'No' end) AS Active from tblName 

現在沒有必要再格式化返回的列中的有效的替換與另一個同名的列,但它包含的值是/否。
我認爲你的列活躍是包含真/假的位列,但如果其他東西用您的值替換真/假

+0

謝謝,我用它來獲取sharepoint並從列表中獲取項目 –

+0

但是如果在顯示它之前需要使用布爾值呢?除非在需要使用時檢查「是」字符串或「否」字符串,否則此方法將會中斷。好主意;但只有當你只是要查看數據。 –

1

我用這個代碼VB:

<asp:TemplateField HeaderText="Active" SortExpression="Active"> 
    <ItemTemplate><%#IIf(Boolean.Parse(Eval("Active").ToString()), "Yes", "No")%></ItemTemplate> 
</asp:TemplateField> 

這應該適用於C#(未經測試):

<asp:TemplateField HeaderText="Active" SortExpression="Active"> 
    <ItemTemplate><%# (Boolean.Parse(Eval("Active").ToString())) ? "Yes" : "No" %></ItemTemplate> 
</asp:TemplateField> 
+0

或使用dataformatstring。 – Jsperk