none
[C#] GridView 열 추가 관련 질문 RRS feed

  • 질문

  • if (ds != null && ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { /////////////////////////////////////////////////////////////////////////////////////////////////////////// //------------------------------GridView에 콤보박스에서 선택된 데이터 출력-------------------------------// DataRow[] arDR = ds.Tables[0].Select("name='" + Convert.ToString(comboBox1.SelectedValue) + "'"); if (arDR.Length > 0) { string[] sArr = Convert.ToString(arDR[0]["NvItem_Text"]).Split(','); //왼쪽 DataGridView if (sArr.Length >= 0) { DataTable newDT = new DataTable(); newDT.Columns.Add("Calibration Channel"); newDT.Columns.Add("Comp"); //1 for (int iCol = 8; iCol < 24; iCol++) { //newDT.Columns.Add("Col" + (iCol + 1).ToString(), typeof(string)); newDT.Rows.Add(sArr[iCol]); } //2 for (int Col = 0; Col < 16; Col++) { newDT.Rows.Add(sArr[Col]); } dataGridView2.DataSource = newDT.DefaultView; setRowNumber(dataGridView2); } listBox1.SelectedIndex = 0; } }

    Calibration Channel과 Comp라는 Column을 두개 만들었는데...

    1이라고 주석처리된 값은 Calibration Channel이라는 이름의 열에

    2라고 주석처리된 값은 Comp라는 이름의 열에 값을 출력시키고 싶은데...

    어찌해야하나요?

    그냥 1열에 32행으로 출력이 되네요 ㅠㅠ

    2012년 12월 3일 월요일 오전 7:55

답변

  • DataTable newDT = new DataTable();
    //칼럼생성
    newDT.Columns.Add("Calibration Channel");
    newDT.Columns.Add("Comp");
    
    for (int r = 0; r < 16; r++)
    {
        DataRow newDR = newDT.NewRow();//새로운Row
        newDR["Comp"] = sArr[r]; //Comp칼럼의 값대입
        if (sArr.Length >= r+8)
             newDR["Calibration Channel"] = sArr[r + 8];
    
        newDT.Rows.Add(newDR); //DataTable에 Row
    }
                            
                            
    
    dataGridView2.DataSource = newDT.DefaultView;//값대입
    setRowNumber(dataGridView2); //Row번호 설정

    말씀하신 내용은 이런식으로 하면 될것 같은데 예전 XML내용으로는 출력되는 내용은 없네요.
    • 답변으로 표시됨 Byeongha, Kim 2012년 12월 4일 화요일 오전 2:26
    2012년 12월 3일 월요일 오후 11:56