2012-07-10 10 views
5

DataGridView tiene 7 columnas con encabezados (ID, título, autor, género, el precio, PUBLICAR, DESCRIPCIÓN). En datos en datagridview del archivo xml, el orden de dos columnas se cambia y el nuevo pedido es (ID, AUTOR, TÍTULO, GÉNERO, PRECIO, PUBLICAR, DESCRIPCIÓN). ¿Cuál es la razón detrás de esto?columnas de orden cambiado en tiempo de ejecución en DataGridView

lectura del archivo XML

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

¿Está generando el xml? ¿Cómo se relacionan los datos xml con la grilla? Por favor, arroje algo de luz sobre el mismo – V4Vendetta

+0

. Bueno, no estoy generando xml, pero reintentando los datos de xml y proporcionándolos al control DataGridView en la aplicación WinForm. DataSet dsFileData = new DataSet ("Libros"); dsFileData.ReadXml (lSoruceFile); dgvBooksDetails.DataSource = dsFileData; dgvBooksDetails.DataMember = "libro"; Al usar este código, puede leer datos de archivos xml y rellenarlos en la grilla. Espero que entiendas tu punto. –

+0

Bueno, no es necesario que especifique 'DataMember' para' Dataset' con una sola tabla (debe ser 'Books'), entonces ¿ha definido las Columnas y asignado su propiedad' DataMember'? – V4Vendetta

Respuesta

7

Es necesario establecer AutoGenerateColumns propiedad en false.

+0

¿No tiene idea qué tiene que ver la generación automática con esto? – V4Vendetta

+0

Cuando AutoGenerateColumns se establece en verdadero, creará columnas automáticamente en función de la fuente de datos y mantendrá el mismo orden. Cuando lo configura en falso, tomará sus columnas en su lugar. – Vale

+0

Sospecho que en ese caso crearía columnas adicionales además de lo que ya tiene – V4Vendetta

Cuestiones relacionadas