2009-12-20 4 views
1

xml 파일에 바인딩 된 DataGridView가 있습니다. 나는 첫 번째 열을 기준으로 정렬하고 값을 정수 (문자열이 아님)로 처리하려고합니다.사용자 지정 정렬 xml 바운드 DataGridView

XmlDataDocument xml = new XmlDataDocument(); 
xml.DataSet.ReadXml("file.xml"); 

dataGridView.DataSource = new BindingSource(xml.DataSet, "Item"); 
  • 정렬 (의 DataGridViewColumn, ListSortDirection)를 작동하지 않습니다
  • 정렬 (IComparer)는
  • SortCompare 이벤트가
  • 을 유발하지 않는 문자열로 모든 값을 취급
      내가 가진 무엇

    이 일을하기 위해서? DataGridView를 상속하고 정렬을 재정의 하시겠습니까? BindingSource를 정렬 하시겠습니까? 데이터 집합을 정렬 하시겠습니까? 미래의 독자

    참고 :

    허용 대답은 내 코드가 작동하지 않습니다. 데이터가로드되기 전에 데이터 유형을 변경해야합니다. 데이터 집합을 수동으로 작성해야합니다 :

    DataTable table = new DataTable("Item"); 
    table.Columns.Add(new DataColumn("id", typeof(int))); 
    table.Columns.Add(new DataColumn("name", typeof(string))); 
    
    DataSet set = new DataSet(); 
    set.Tables.Add(table); 
    set.ReadXml("file.xml", XmlReadMode.IgnoreSchema); 
    
    dataGridView.DataSource = new BindingSource(set, "Item"); 
    

    답변

    1

    당신은 열의 데이터 형식이 System.Int32되도록 데이터 집합을 변경해야합니다.

    관련 문제