2012-08-10 4 views
0

나는 전체 열을 정의하는 총 열 수를 얻을 필요가있는 곳에 문제가 있습니다. 현재 나는 DataGrid.columns에 헤더 텍스트를 지시하는 함수를 가지고있다.동적 DataGrid 헤더

public static string ColumnHeader1 = Properties.Settings.Default.ColumnHeader1; 

public void dataGridHeaders() 
    { 
     dataGrid.Columns[0].Header = ColumnHeader1; 
     dataGrid.Columns[1].Header = ColumnHeader2; 
     dataGrid.Columns[2].Header = ColumnHeader3; 
     dataGrid.Columns[3].Header = ColumnHeader4; 
     dataGrid.Columns[4].Header = ColumnHeader5; 
     dataGrid.Columns[5].Header = ColumnHeader6; 
     dataGrid.Columns[6].Header = ColumnHeader7; 
     dataGrid.Columns[7].Header = ColumnHeader8; 
    } 

xml 설정 파일에서 문자열 변수를 읽습니다. 내가 뭘 찾고 xml 파일에 얼마나 많은 문자열을 런타임에있을 것입니다 얼마나 많은 열을 묘사에 따라 다릅니다. 또는 int var를 추가하면됩니다.

public static int totalNumberOfColumns = 8; 

그런 다음 루프를 반복하여 반복합니다.

이러한 방법 중 하나가 가능합니까? 문자열 목록 XmlColumnList이 값을 들고 몇 가지 배열

List<string> columnHeaderList = new List<string>(); 
foreach (string header in XmlColumnList) 
    columnHeaderList.Add(header); 

에 XML 파일에서 열 머리글을 받기

답변

1

. 이제 모든 사용 가능한 열 머리글을 rwequired로 추가하는 다음 메서드를 추가하십시오.

private void DataGridHeaders(List<string> headerList) 
{ 
    for (int i = 0; i < headerList.Count; i++) 
     dataGrid.Columns[i].Header = headerList[i]; 
} 

이 정보가 도움이되기를 바랍니다.

0
  var xmlSample = @"<DataGridColumnsHeader> 
          <ColumnHeaderText>Name</ColumnHeaderText> 
          <ColumnHeaderText>Country</ColumnHeaderText> 
          <ColumnHeaderText>Phone</ColumnHeaderText> 
          </DataGridColumns>"; 

     var counter = 0; 
     var elementCount = XDocument.Load(new System.IO.StringReader(xmlSample)).XPathSelectElements("//ColumnHeaderText").Count(); 
     foreach (var element in XDocument.Load(new System.IO.StringReader(xmlSample)).XPathSelectElements("//ColumnHeaderText")) 
     { 
      dataGrid.Columns[counter].Header = element.Value; 
      counter++; 
     } 

희망이 있습니다.

+0

나는 다른 방법으로 그것을 해냈다. 아마도 가능한 한 가장 게으른 방법이다. 배열에 모든 값을 가진 전체 문자열을 읽고 그들을 분할한다. –