내가이 쿼리를 SQL로하는 경우 사용 :Linq에의 문이
Dim Query = From E In db.Employee Select E
이제 "이 isActive"라는 부울 필드가 Employee 테이블 내부.
이 isActive 값은 내가이 isActive가 "활성"및이 isActive에 동일한 동일 것을 보여주기 위해 결과를 원하는 True로 동일한 경우 = A의 gridview "
내가이 쿼리를 SQL로하는 경우 사용 :Linq에의 문이
Dim Query = From E In db.Employee Select E
이제 "이 isActive"라는 부울 필드가 Employee 테이블 내부.
이 isActive 값은 내가이 isActive가 "활성"및이 isActive에 동일한 동일 것을 보여주기 위해 결과를 원하는 True로 동일한 경우 = A의 gridview "
내가 제대로 질문을 이해하는 경우에 바인딩 할 때 비활성 보여 거짓 , 당신은이 isActive 열에서 "활성"또는 "비활성"당신의 gridview에서가 아니라 "true"또는 "false"를 표시하려면?
그렇다면, 내가 두 개의 서로 다른 접근 방식을 볼 수 있습니다.
변형을 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를 추가 부울 true/false 값을 기반으로 올바른 문자열을 반환합니다.
나는 당신이 달성하려는 것을 이해한다고 생각합니다.
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의 경우, IIER이 아닌 Ternary If를 사용하십시오.
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