2012-07-10 104 views
5

DataGridView有7個帶標題的列(ID,標題,作者,發電,價格,發佈,描述)。對於xml文件中datagridview中的數據,更改了兩列順序,並且新訂單是(ID,AUTHOR,TITLE,GENRE,PRICE,PUBLISH,DESCRIPTION)。 這是什麼原因?DataGridView運行時更改列順序

從XML文件

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

您是否正在生成xml?與網格相關的xml數據如何,請在相同的地方闡述一下 – V4Vendetta 2012-07-10 06:04:10

+0

好吧,我沒有生成xml,而是從xml重新獲取數據並將其提供給WinForm應用程序上的DataGridView控件。 DataSet dsFileData = new DataSet(「Books」); dsFileData.ReadXml(lSoruceFile); dgvBooksDetails.DataSource = dsFileData; dgvBooksDetails.DataMember =「book」;通過使用此代碼,您可以讀取xml文件數據並將其填充到網格中。我跳你明白你的觀點。 – 2012-07-10 06:10:35

+0

那麼你不需要爲只有一個表(應該是'Books')的'Dataset'指定'DataMember',所以已經定義了列併爲其分配了'DataMember'屬性? – V4Vendetta 2012-07-10 06:19:12

回答

7

您需要AutoGenerateColumns屬性設置爲false讀。

+0

不知道自動生成的內容與此有關嗎? – V4Vendetta 2012-07-10 06:03:09

+0

當AutoGenerateColumns設置爲true時,它將根據數據源自動創建列並保持相同的順序。當你將它設置爲false時,它會代替你的列。 – Vale 2012-07-10 06:04:50

+0

我懷疑在這種情況下,它會創建額外的列,除了你已經有 – V4Vendetta 2012-07-10 06:05:45