2012-07-10 12 views
5

DataGridView ma 7 kolumny z nagłówkami (ID, tytuł, autor, gatunek, cena, publikacji, opis). Na danych w datagridview z pliku xml zmieniana jest kolejność dwóch kolumn, a nowa kolejność to (ID, AUTOR, TYTUŁ, GOSPODARKA, CENA, PUBLIKACJA, OPIS). Jaki jest tego powód?Kolumny porządkowy zmieniać w trakcie pracy w DataGridView

Odczyt z pliku xml

Application.DataSet dsFileData = new DataSet("Books"); 
dsFileData.ReadXml(lSoruceFile); 
dgvBooksDetails.DataSource = dsFileData; 
dgvBooksDetails.DataMember = "book"; 
+0

Czy generujesz xml? W jaki sposób dane xml są powiązane z siatką, proszę rzucić nieco światła na to samo – V4Vendetta

+0

No cóż, nie generuję xml, ale ponownie przetwarzam dane z xml i dostarczam je do kontrolki DataGridView w aplikacji WinForm. DataSet dsFileData = new DataSet ("Books"); dsFileData.ReadXml (lSoruceFile); dgvBooksDetails.DataSource = dsFileData; dgvBooksDetails.DataMember = "book"; Za pomocą tego kodu można odczytać dane pliku XML i wypełnić je w siatce. Mam nadzieję, że masz rację. –

+0

Cóż, nie musisz określać 'DataMember' dla' Zestawu danych' z tylko jedną tabelą (powinno to być 'Książki'), więc zdefiniowałeś Kolumny i przypisałeś ich właściwość' DataMember'? – V4Vendetta

Odpowiedz

7

Musisz ustawić AutoGenerateColumns właściwość false.

+0

Nie mam pojęcia, co generuje Auto to generowanie? – V4Vendetta

+0

Gdy AutoGenerateColumns ma wartość true, automatycznie utworzy kolumny na podstawie źródła danych i zachowa tę samą kolejność. Kiedy ustawisz na false, zamiast tego zajmiesz kolumny. – Vale

+0

Podejrzewam, że w takim przypadku utworzy dodatkowe kolumny oprócz tego, co już masz – V4Vendetta

Powiązane problemy