2013-02-19 2 views
0

IsAdmin이 bool 인 지 확인하려고합니다. true이면 Gridview EditItemTemplate에서 체크 상자가 선택됩니다.Linq 쿼리 결과 가져 오기

쿼리는 gridview가 편집 모드에 있고 편집중인 사용자가 이미 admin 인 경우입니다. 해당 항목이 업데이트되면 체크 박스를 선택하지 않으면 체크 박스를 선택해야합니다. 더 긴 관리자.

내가 생각하는 바는 쿼리가이 작업을 수행 할 수 있어야한다는 것입니다. IsAdmin == true를 구현하는 방법을 모르겠다.

private void LoadGridEdit() 
{ 
using (dbDataContext _db = new dbDataContext()) 
{ 
    var result = from u in _db.tbl_Users 
        where u.Deleted == false 
       select new 
         { 
          u.UserId, 
          u.UserName, 
          u.Email, 
          u.IsAdmin, 
          u.tbl_ServiceArea.ServiceArea, 
         }; 

    if() 
    { 
     //???? or foreach? 
    } 
    // Bind Here 
} 
} 

나는 여러 가지 옵션을 시도해 보았지만 잘 모르겠습니다.

답변

0

이 LinQ 쿼리는 IEnumerable 개체를 반환하므로 foreach 문을 사용하여 열거 할 수 있습니다.

0

뭐 그런 :

var result = _db.tbl_Users.Where(u=> u.Deleted == false).Select(e=> new 
        { 
         u.UserId, 
         u.UserName, 
         u.Email, 
         u.IsAdmin, 
         u.tbl_ServiceArea.ServiceArea, 
        }.ToList(); 

foreach(var res in result) 
{ 
    if(res.IsAdmin) 
    { 
    // Do SOmething 
    } 
} 

죄송합니다,하지만 난 SQL과 같은 LINQ를 싫어하는, 그래서 그렇게 썼다. 희망이 도움이 될 것입니다.

+0

아래 투표에 대한 의견이 있으십니까? – Maris

0

resultIsAdmin 속성을 포함하는 개체를 통해 IEnumerable을 반환합니다. 다음과 같이 IsAdmin == true 할있는 각 요소에 대한 작업을 수행하려면 다음

var resultsWithAdminIsTrue = from r in result 
          where r.IsAdmin 
          select r; 

foreach (var r in resultsWithAdminIsTrue) 
{ 
    /* Do action */ 
} 
3

당신이 당신의 GridView 템플릿의 체크 박스를 사용하여 시도 되세요을, 그리고, IsAdmin 값이 같은 결합하기 위해 검사 속성을 설정 :

<asp:CheckBox ID="chbIsAdmin" runat="server" Checked='<%# Bind("IsAdmin") %>' /> 

편집 :

미안 해요, 난 그냥 실수로 자신의 권한을 제거 관리자에 대해 읽어보십시오. 내가 장화에 있다면, 나는이 일이 일어나게하지 않을 것이다. 관리자는 자신의 권한을 제거 할 수 없습니다. 이렇게하면 최소한 1 명의 관리자가 존재합니다.