2012-07-10 10 views
5

DataGridView ha 7 colonne con intestazioni (ID, titolo, autore, genere, PREZZO, PUBBLICA, DESCRIZIONE). Su dati in datagridview dal file xml, l'ordine di due colonne viene modificato e il nuovo ordine è (ID , AUTORE, TITOLO, GENERE, PREZZO, PUBBLICAZIONE, DESCRIZIONE). Qual è la ragione di questo?Colonne ordine modificato durante la runtime in DataGridView

lettura dal file XML

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

Stai generando l'xml? In che modo i dati xml sono correlati alla griglia, per favore fai un po 'di luce sullo stesso – V4Vendetta

+0

Beh, non sto generando xml ma sto recuperando i dati da xml e fornendoli al controllo DataGridView su WinForm Application. DataSet dsFileData = new DataSet ("Libri"); dsFileData.ReadXml (lSoruceFile); dgvBooksDetails.DataSource = dsFileData; dgvBooksDetails.DataMember = "libro"; Utilizzando questo codice è possibile leggere i dati del file xml e popolarlo nella griglia. Spero tu abbia capito il tuo punto. –

+0

Bene, non è necessario specificare 'DataMember' per' Dataset' con una sola tabella (dovrebbe essere 'Books'), quindi aver definito le colonne e assegnato la loro proprietà' DataMember'? – V4Vendetta

risposta

7

È necessario impostare AutoGenerateColumns proprietà su false.

+0

Non ha idea di cosa abbia a che fare il Generare automaticamente con questo? – V4Vendetta

+0

Quando AutoGenerateColumns è impostato su true, creerà automaticamente le colonne in base all'origine dati e manterrà lo stesso ordine. Quando lo imposti su false, prenderanno invece le tue colonne. – Vale

+0

Sospetto che in quel caso creerebbe colonne aggiuntive oltre a quello che hai già – V4Vendetta