2014-04-09 4 views
0

내가 한 콤보 상자에서 직원 테이블의 직원 이름을로드하려고합니다. 하지만 현재 로깅 직원 이름을 제외한 모든 직원 이름을로드하고 싶습니다. 예를 들면. X 직원은 이미 개인 페이지를 로깅하고 다른 직원의 이름을 콤보 상자에로드하려고합니다.현재 로깅 사용자를 제외한 Combobox의 데이터로드

어떻게해야할지 모르겠다. ext.net 콤보 박스 컨트롤과 linq을 asp.net (C#)과 함께 사용하고있다. 작은 샘플/로직이 더 도움이 될 것입니다.

감사합니다.

다음은 나의 코드입니다.

BLL : TrainingManager

DAL
public static List<EEmployee> GetEmployeeName() 
    { 
     return PayrollDataContext.EEmployees.OrderBy(y => y.Name).ToList(); 
    } 

: 코드 부착 Linq는 SQL에

웹 : Employee.ascx

<ext:Combobox ID="cmbRecommendation" Width="250" LabelSeparator="" runat="server" DisplayField="Name" 
        FieldLabel="Ask for Recommendation from" ValueField="EmployeeId" QueryMode="Local" LabelAlign="Top"> 

        <Store> 
         <ext:Store ID="Store1" runat="server"> 
          <Model> 
           <ext:Model ID="Model1" runat="server"> 
            <Fields> 
             <ext:ModelField Name="Name" Type="String" /> 
             <ext:ModelField Name="EmployeeId" Type="Int" /> 
            </Fields> 
           </ext:Model> 
          </Model> 
         </ext:Store> 
        </Store> 
       </ext:Combobox> 

Employee.ascx.cs

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!X.IsAjaxRequest) 
     { 
      cmbRecommendation.Store[0].DataSource = TrainingManager.GetEmployeeName(); 
      cmbRecommendation.Store[0].DataBind(); 
     } 

    } 

참고 : 직원 이름이 ABC로 콤보에 표시되며, B.

로 로그인 이
+0

시도한 코드를 표시 할 수 있습니까? –

+0

내 코드 – Arjun

답변

0

당신은 데이터 소스에서 현재 직원 제거 할 수 있습니다 때 나는 단지 A와 C를 표시하려면 :

var data = TrainingManager.GetEmployeeName(); 
/* remove the current employee from the data list */ 
cmbRecommendation.Store[0].DataSource = data; 

을하거나 정의 직원의 이름을 제외하도록하는 GetEmployeeName 메서드의 오버로드 된 버전입니다.

cmbRecommendation.Store[0].DataSource = TrainingManager.GetEmployeeName("currentEmployeeName"); 
+0

감사합니다 Daniil을 추가했습니다. – Arjun

+0

답변이 도움이된다면 답변으로 표시 할 수 있습니까? –