我有這個疑問:使用如果Linq中的語句SQL
Dim Query = From E In db.Employee Select E
現在Employee表有一個名爲「isActive」一個布爾字段內。
如果IsActive值等於爲True我想要的結果表明,IsActive等於「活動」與同爲IsActive =假綁定到GridView」
我有這個疑問:使用如果Linq中的語句SQL
Dim Query = From E In db.Employee Select E
現在Employee表有一個名爲「isActive」一個布爾字段內。
如果IsActive值等於爲True我想要的結果表明,IsActive等於「活動」與同爲IsActive =假綁定到GridView」
如果我正確理解你的問題時顯示無效的,要在IsActive列,以顯示你的GridView「激活」或「無效」,而不是「真」或「假」?
如果是的話,我可以看到兩種不同的方法。
變1:
你可以選擇一個新的匿名類型並綁定到GridView(原諒我,我不知道VB語法,但這是怎麼會在C#來完成):
Dim Query = From E In db.Employee Select New With _
{ _
.Id = E.Id, _
.Name = E.Name, _
.IsActive = E.IsActive ? "Active" : "Inactive" _
' ... all employee fields except IsActive, '
}
然後你只是數據綁定照常。
變2:
你讓gridview的是一個有點小聰明不僅僅是綁定到IsActive屬性。即,gridview將執行IsActive ? "Active" : "Inactive"
部分。
例如,你可能有這樣的事情:
<asp:BoundField DataField="IsActive" HeaderText="IsActive" />
可以將此更改爲模板字段來代替:
<asp:TemplateField HeaderText="IsActive">
<ItemTemplate>
<%# GetIsActiveText((bool)Eval("IsActive")) %>
</ItemTemplate>
</asp:TemplateField>
在代碼隱藏文件,添加一個方法GetIsActiveText ()根據布爾真/假值返回正確的字符串。
我想我明白你想達到的目標。你需要的東西是這樣的:
Dim Query = From e In db.Employee
select
new
{
ID = e.ID,
ActiveStr = e.IsActive?"Active":"Inactive"
};
請與任何其他領域,你可能希望在查詢中,用逗號分隔,顯示更換「ID」字段。
ActiveStr = e.IsActive?"Active":"Inactive"
忽略所有人推薦的條件? trueBit:falseBit語法,因爲它只是C#。對於VB,使用三元如果(不是IIF):
Dim query = From e In db.Employee
Select e.ID,
ActiveStr = If(e.IsActive,"Active","Inactive")
我明顯錯過了你的問題的觀點。您的評論是「如果IsActive值等於True,我希望結果顯示IsActive等於」Active「,並且相同的IsActive = false在綁定到gridview時顯示InActive」。你能否將這些信息添加到你的問題中以使其更清楚。 – ChrisF