2013-08-05 2 views
1

DataGrid 행의 머리글 값을 설정하는 데 어려움이 있습니다. DataGrid는 DataTable에 바인딩되지만 다음 코드는 첫 번째 행에 대한 행의 머리글을 표시하지 않습니다. 어떤 아이디어?DataGrid 행 머리글 값을 설정할 수 없습니다.

참고 : RowHeadersVisible = TRUE

DataTable에가 행과 열을 추가

public new void ShowDialog() 
    { 
     dataGridView_replaceTable.Columns.Clear(); 
     dataGridView_replaceTable.Rows.Clear(); 

     dataGridView_replaceTable.DataSource = getDataTable(); <-- returns DataTable 

     dataGridView_replaceTable.Rows[0].HeaderCell.Value = "ROW HEADER 1"; 
     // I expect to see the this string in the first row header - but it remians empty! 
    } 

코드 (내 DataTable을 적어도 1 열 1 행의 코드에 도달하기 전에이 있다고 가정) :

우리는이 :

재 placeTableValues ​​DataTable

을 클래스 속성으로 사용합니다.

public void addCol() 
    { 
     DataColumn column; 

     column = new DataColumn(string colName); 
     column.DataType = System.Type.GetType("System.String"); 
     column.ColumnName = colName; 
     column.ReadOnly = false; 
     replaceTableValues.Columns.Add(column); 
    } 

    public void addRow() 
    { 
     DataRow row; 

     row = replaceTableValues.NewRow(); 

     string[] arr = new string[numOfCols+1]; 
     for (int i = 0; i < arr.Length; i++) 
     { 
      arr[i] = ""; // fill row data as empty string 
     } 

     try 
     { 
      replaceTableValues.Rows.Add(arr); 
     } 
     catch (System.Exception ex) 
     { 
      updateReplaceVarErrorMsg(TABLE_EXCEPTION); 
     } 

    } 

난 달성하기 위해 노력하고있어 : (빨간색 텍스트) Image

감사합니다. 당신은 HeaderText 재산 대신 수집 Columns의를 사용해야합니다

+0

try'dataGridView_replaceTable.Columns [0] .Name = "ROW HEADER 1"; ' – Damith

답변

0

:

dataGridView_replaceTable.Columns[0].HeaderText="ROW HEADER 1"; 

당신이 Caption 속성을 사용하여 열을 추가 할 때 당신은 또한이 작업을 수행 할 수 있습니다 :

public void addCol() 
{ 
    DataColumn column; 

    column = new DataColumn(string colName); 
    column.DataType = System.Type.GetType("System.String"); 
    column.ColumnName = colName; 
    column.Caption = "My header" // ASSIGN HEADERS HERE 
    column.ReadOnly = false; 
    replaceTableValues.Columns.Add(column); 
} 
+0

내가 달성하기를 원하는지 확실하지 않습니다. 나는 그것을 보여주는 이미지를 추가하고있다. (나는 또한 당신의 코드를 시도해 보았다.) – etaiso

+0

@etaiso 나는 이미지를 기다리고있다. :) – ehsan88

+0

불행히도, 내가 아는 한, 일반적인'GridView' 속성입니다. 그건 그렇고, 이건 _Header_라고 부르지 않아. 나는 스스로를 _Sider_라고 부른다. 대신 그리드에 사용자 정의 사용자 정의 컨트롤을 사용합니다. 나는이 "Sider"를 덧붙여서 더 좋은 스타일을 가지고 있지만, 약간의 제한도있다. 또한 저수준 메시지를 사용하여 GridView를 "해킹"하여이를 수행 할 수도 있습니다. – ehsan88

0
grid.Columns[0].HeaderText = "Something special"; 

에 대한 기본적인 방법 항목 추가 :

int columnIndex = grid.Columns.Add("columnName", "Header Text"); 
+0

열이 아닌 열의 헤더가 필요합니다. – etaiso

+0

기존 열의 헤더를 원하거나 열의 헤더를 설정 하시겠습니까? –

+0

행의 헤더/캡션을 원합니다. 위에 첨부 된 이미지와 같습니다. – etaiso

관련 문제