2011-04-29 1 views
0

내 질문에 매우 간단합니다. 여기에 내 시나리오가 있습니다 :데이터를 30 개의 드롭 다운 목록에 바인딩하는 가장 쉬운 방법은 무엇입니까?

  1. 내 결과 데이터 세트 [named = "resultDS"typed = "MyDataset"]와 1 개의 데이터 테이블 [MyDT]가 있습니다. 데이터 테이블에
  2. 내가 10 개 행이, 각 행 3 열 [열 1, 열 2, COLUMN3] 영문 페이지
  3. 를 가지며, 난 것 상기 데이터

위한 데이터 테이블 내의 데이터를 기다리는 30 drowdownlists을 :

Column1 | Column2 | 칼럼 3

방법 1 | 100 | 0.5

방법 2 | 125 | 0.75

방법 3 | 80 | 0.4

. . .

방법 30 | 200 | 1

현재 저는 데이터를 바인딩하는 가장 간단한 방법을 사용했습니다. like :

ddl1.SelectedValue = ((MyDataSet.MyDTRow)resultDS.MyDT.Rows[0]).Column1; 
ddl2.SelectedValue = ((MyDataSet.MyDTRow)resultDS.MyDT.Rows[0]).Column2; 
ddl3.SelectedValue = ((MyDataSet.MyDTRow)resultDS.MyDT.Rows[0]).Column3; 

ddl4.SelectedValue = ((MyDataSet.MyDTRow)resultDS.MyDT.Rows[1]).Column1; 
ddl5.SelectedValue = ((MyDataSet.MyDTRow)resultDS.MyDT.Rows[1]).Column2; 
ddl6.SelectedValue = ((MyDataSet.MyDTRow)resultDS.MyDT.Rows[1]).Column3; 
. 
. 
. 
ddl30.SelectedValue = ((MyDataSet.MyDTRow)resultDS.MyDT.Rows[9]).Column3; 

내 현재 방법보다 쉽게 ​​데이터를 내 ddl에 바인딩 할 수있는 방법이 있습니까?

감사합니다. 당신이 코드의 마지막 줄을 가정

vcha

+0

당신의 datatable과 ddls에 대해 더 알고 있으면서 나는 그렇게 생각하지 않습니다. 30 ddls가 실제로 3 ddls가 10 회 반복되는 경우 리피터 또는 목록보기를 사용할 수 있습니다. – Chad

+0

유청은 ddl2가 두 번 반복되지만 다른 ddls는 그렇지 않습니까? –

+0

@Bala; 제 오타를 고쳐 주셔서 감사합니다. – tong

답변

1

이있다 Rows[9]

당신은

for (int i=0; i<30; i++) 
{ 
    DropDownList ddl = (DropDownList) FindControl("ddl"+(i+1)); 

    switch (i % 3) 
    { 
     case 0: 
      ddl.SelectedValue = ((MyDataSet.MyDTRow)resultDS.MyDT.Rows[i/3]).Column1; 
      break; 
     case 1: 
      ddl.SelectedValue = ((MyDataSet.MyDTRow)resultDS.MyDT.Rows[i/3]).Column2; 
      break; 
     case 2: 
      ddl.SelectedValue = ((MyDataSet.MyDTRow)resultDS.MyDT.Rows[i/3]).Column3; 
      break; 
    } 
} 
+0

대단히 감사합니다 Bala R. 이것은 내가 원하지만 정확히 어떻게하는지 잘 모릅니다. – tong

0

내가 좋아하는 데이터 바인딩 된 컨트롤이 설정 것 루프에서 그 일을 시도 할 수있는 ListView 또는 GridView.

이렇게하면 반복 될 3 ddls를 작성한 다음 SelectedItemValue을 사용자 열에 바인드 할 수 있습니다.

귀하의 의견을 바탕으로 몇 가지 가정을합니다. ddls가 사이트 전체에 흩어져있는 경우 그렇지 않을 수 있습니다.

+0

제안 해 주셔서 감사합니다. 내가 ddl을 사용해야하는 이유는 UI 디자이너가 디자인을하고 그래픽 객체로 둘러싸인 테이블에 넣기 때문입니다. 그래서 컨트롤의 유형을 변경할 수 없습니다. – tong

+0

실제로 gridview는 html로 표로 렌더링됩니다. listview를 테이블 형식으로 설정할 수도 있습니다.CSS를 사용하여 테이블 스타일을 지정하면 컨트롤이 완벽하게 올바르게 놓여 야합니다. – Chad

관련 문제