2012-07-10 98 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