2013-06-24 4 views
0

근무일을 나타내는 항목 1 (1 또는 0)과 휴일을 나타내는 0이 포함 된 작업 일이라는 열로 구성된 달력 테이블이 있습니다. 이제 데이터베이스에서 데이터를 얻었을 때 체크 박스를 체크하고 다른 체크하지 않은 체크 박스를 표시하려고합니다. 예를 들어 6 월 한 달 동안 반환 된 데이터가 1111100이면 ... 처음 5 개의 확인란을 선택 취소 한 다음 2 월을 검사하여 6 월 30 일 동안 계속합니다. 내 웹 페이지에는 연도와 월을 입력으로하는 2 개의 텍스트 상자가 있습니다. 검색 할 때 그 달에 체크 박스가 나타납니다. 이 문제에 대한 코드를 알려주시겠습니까? 아래 코드를 시도해 보았습니다.동적으로 확인란을 추가하십시오.

공공 무효 검색 (개체 보낸 사람, EventArgs입니다 전자는) { 는 {

  string cnnString = "Server=localhost;Port=3307;Database=leavesystem;Uid=root;Pwd=ashish"; 
      MySqlConnection cnx = new MySqlConnection(cnnString); 
      cnx.Open(); 
      string cmdText = "Select WorkingDays from calender where Year = '" + year.Value +"' and Month = '" + month.Value +"' "; 
      MySqlCommand cmd = new MySqlCommand(cmdText, cnx); 
      MySqlDataAdapter adapter = new MySqlDataAdapter(); 
      DataSet ds = new DataSet(); 
      adapter.SelectCommand = cmd; 
      string a[] = adapter.Fill(ds); 

       int size = a.Length; 
       CheckBox[] cbl = new CheckBox[size]; 
        for (int i = 0; i < a.Length; i++) 
         { 
          cbl[i] = new CheckBox(); 
          cbl[i].Text = a[i].ToString(); 
          this.Form.Controls.Add(cbl[i]); 
         } 
       }} 
     catch (MySqlException ex) 
     { 

      string msg = "Insert Error: 'Error ' "; 
      msg += ex.Message; 
      throw new Exception(msg); 
     } 
    } 

지금은 무엇입니까 오류를보십시오. 먼저 문자열 배열 a에서 adapter.fill 값을 가져올 수 없으며 앞으로 코드가 작동하지 않습니다. 누구든지 나를 도울 수 있습니까?

+0

나는 다시 테스트 업데이트 답하고 suerly 작품을 !!!!!!!!!! –

+0

업데이트 된 답변을 시도 했습니까? –

+0

네, 그랬습니다. 코드에는 오류가 없지만 웹 페이지에는 1 개의 확인란 만 표시됩니다. –

답변

0

이 같은 CheckBoxList를 만들 수 있습니다

<asp:CheckBoxList ID="checks" runat="server" RepeatDirection="Horizontal"/> 

을 다음 코드에서 뒤에이 같은 문자열 배열로 데이터베이스 테이블을 변환하는

char[] a=adapter.Fill(ds).ToString().ToCharArray(); 
ListItem[] items=new ListItem[a.Count()]; 
int i=0; 
foreach (char m in a){ 
    items[i]=new ListItem(m.ToString()); 
    if(m=='0') 
     items[i].Selected=true; 
    else 
     items[i].Selected=false; 
    checks.Items.Add(items[i]); 
    i++; 
} 
+0

@AshishBatra 내가 대답을 업데이트했습니다 –

+0

당신이 말한 것을 사용하려했으나 (int에 count에 대한 정의가없고 int 형식의 첫 번째 인수를 수락하는 확장 메서드 수가 포함되어 있지 않습니다) –

+0

@AshishBatra 코드 맨 위에 추가하십시오 :'using System.Linq; ' –

관련 문제