2012-09-18 4 views
2

저는 Asp.Net Dynamic Data project with linq to sql에서 일하고 있습니다.Dynamic Data asp.net DropdownList의 외래 키 관계, 사용자 정의 방법은 무엇입니까?

외래 키를 사용하여 지정된 두 테이블 사이에 one to one relationship이있는 데이터베이스를 만들었습니다.

내가 테이블 Employee와 테이블이 즉 Department

Employee table 
empid empname address departmentId 

Department table 
departmentId departmentname 

지금 Student 표는 나는 그것이 드롭 다운에 department_name의 목록을 표시 것이라고 /Insert.aspx를 탐색 foreign key

departmentId 소요 명부.

그것은이 않습니다 -하지만 보여줍니다 모든 드롭 다운리스트에 department_name

어떻게 내가 만에한다고 가정하면 내가

값 department_name 사람들을 사용자 정의 할 수 있도록 내가 LINQ 쿼리를 쓸 수있는 곳 해당 드롭 다운 목록에 computers을 department_name으로 채 웁니다. 어떻게이 작업을 수행 할 수 있습니까?

코드 : FieldTemplate 폴더 ForeignKey_Edit.ascx.cs

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (DropDownList1.Items.Count == 0) 
     { 
      if (Mode == DataBoundControlMode.Insert || !Column.IsRequired) 
      { 
       DropDownList1.Items.Add(new ListItem("[Not Set]", "")); 
      } 
      PopulateListControl(DropDownList1); 
     } 

     SetUpValidator(RequiredFieldValidator1); 
     SetUpValidator(DynamicValidator1); 
    } 

데이터 역학에서 내부적으로 DropDownList로 채우는된다. 이전 또는이 문 후 여기

PopulateListControl(DropDownList1);

내가 코드를 내가 특정 값을 채울 수 있도록해야 ..? 대신 PopulateListControl(DropDownList1);

+1

뭔가를 시도? U 현재 드롭 다운리스트를 어떻게 채웠습니까? – ssilas777

+0

내 질문이 업데이트되었습니다. – Neo

답변

0

유 지금까지 한 일이

 if (ForeignKeyColumn.ParentTable.Name == "Departments") 
     { 
      List<Department> departments = // code to grab the correct Departments 

      foreach (Department d in departments) 
      { 
       DropDownList1.Items.Add(new ListItem(d.Name, d.Id.ToString())); 
      } 
     }