2013-06-02 4 views
0

누구든지 다음 코드를 압축 할 수 있습니까?데이터 집합의 행과 열을 반복하는 방법

Dim a as integer = 0 
    Dim b as integer = 4 
    Dim c as integer =4 
    Dim d as integer =4 

For Each rad As RadioButton In GroupBox1.Controls 
    If b > 1 Then 
    rad.Text = ds.Tables("questionBank").Rows(a).Item(b) 
    b = b - 1 
    End If 
    Next 



    a = a + 1 
    For Each rad As RadioButton In GroupBox2.Controls 
    If c > 1 Then 
    rad.Text = ds.Tables("AddressBook").Rows(a).Item(c) 
    c = c - 1 
    End If 
    Next 


    a = a + 1 
    For Each rad As RadioButton In GroupBox2.Controls 
    If d > 1 Then 
    rad.Text = ds.Tables("AddressBook").Rows(a).Item(d) 
    d = d - 1 
    End If 
    Next 

LAN 기반 객관식 질문 MCQ 응용 프로그램을 개발 중입니다. 나는 각각 3 개의 라디오 버튼을 포함하는 다수의 그룹 박스가있는 폼을 가지고있다. 각 라디오 버튼의 텍스트 속성은 질문의 옵션 중 하나를 표시해야하므로 사용자는 옵션 중 하나를 답변으로 선택할 수 있습니다.

데이터 세트 'ds'에는 질문과 답변이 포함되어 있습니다. 각 행에는 하나의 질문과 세 가지 옵션이 있습니다. 질문은 1 열에 있고 옵션은 2 열 3 및 4 열에 있습니다.

변수 a는 행을 순환하는 데 사용되고 변수 b, c 및 d는 행의 열을 순환하는 데 사용됩니다.

답변

0

교체 그것의 이름에 의하여 radiobutton (ie GroupBox1.Controls("rb" + rowindex.tostring + itemindex.tostring).text = ds.Tables("questionBank").Rows(rowindex).Item(itemindex)). a 대신 for 루프를 사용하고 테이블 행을 반복하고 for 루프를 반복하여 항목을 반복합니다. 반복 변수는 rowindex 및 itemindex가됩니다. Count 속성에서 1을 뺀 것이 귀하의 한도가됩니다.

당신은 OfType 속성을 사용하여 groupboxes을 반복 할 수 있습니다

For Each gb As GroupBox in Me.Controls.OfType(Of GroupBox) 
    'some code 
Next 
+0

덕분에 .. 나는뿐만 아니라 groupboxes을 반복하고 싶습니다. 코드를 제공해주세요.? – user2444712

+0

어떻게 대답하는지 편집 해주었습니다. – tinstaafl

0

보십시오 : 당신이 (예 : rb00을) 당신의 라디오 버튼의 이름을 지정하는 번호 체계를 사용하는 경우
, 당신은에 액세스 할 행 인덱스 및 항목 인덱스를 사용

rad.Text = ds.Tables("questionBank").Rows(a).Item(b) 

rad.Text = ds.Tables("questionBank").Rows(a)(b) 
관련 문제