2012-02-29 17 views
0

내 웹 페이지에 ItemTemplate이 채워진 행이있는 DataList 컨트롤이 있습니다. 각 행에는 확인란이 있으며 버튼 클릭시 실제로는 sql 쿼리 텍스트 인 문자열로 생성됩니다. 사용자 입력에 따라 리피터 생성

DB를에서 쿼리에 의해 반환 된 각 결과

는 다음과 같이 같은 다른하여 DataList에 표시 할 수있는 10 개의 행이 있습니다

<Header> 

Item1: Result1 
Item2: Result2 
Item3: Result3 
... 
Item10: Result10 

문제는 내가 얼마나 많은 체크 박스 모르겠입니다 사용자에 의해 선택되고 반환 된 결과의 수에 따라 알 수 없습니다. 사용자가 처음하여 DataList에서이 개 체크 박스를 선택하면 그래서, 결과 DataList에 두 개의 열이 있어야합니다

<Header1>     <Header2> 

Item1: Result1 | Item 1: ResultCol2 
Item2: Result2 | Item 2: ResultCol2 
Item3: Result3 | Item 3:ResultCol2 
... 
Item10: Result10 | Item 10: ResultCol2 

나는 이것에 대한 해결책을 생각하려고 노력했다. 의 사용자가이 확인란을 선택한다고 가정 해 봅시다 : 이제

foreach checkbox selected by the user 
    Make a new repeater. Add a new header. 
    Fetch the data from the database (Each result contains 10 columns) and bind to the repeater. 
    Add the repeater to a container on the web page. 

을, 내가 생각 할 수없는 나는, 창문 양식, 런타임 생성 된 컨트롤 등의 추가 TableLayout.Add(childElements)

같은 것을 수행 할 수 있다는 것을 기억하지만, Web Forms과 비슷한 것입니다. 이것이 실제로 올바른 접근 방법입니까? 이 경우 DataControl의 동적 인 건물을 어떻게 구현할 수 있습니까?

답변

0

수를 얻으려면. 나는 그것에 대한 람다 식을 쓸 것이다 :

var selectedChkboxCount = DataList1.Items.Cast<DataListItem>(). 
          Where(s => ((CheckBox)s.FindControl("checkboxName")).Checked).Count(); 
+0

나는 이미 chkBoxes를 반복하여 계산하고있다. 그 이후의 단계들은 위와 같이이 새로운 DataList를 생성하기에 거의 흐리지 않는다. – user1240679

관련 문제