Estoy tratando de insertar una columna en un DataSet existente usando C#.¿Cómo se inserta una columna en un conjunto de datos entre dos columnas existentes?
Como ejemplo he definido un conjunto de datos de la siguiente manera:
DataSet ds = new DataSet();
ds.Tables.Add(new DataTable());
ds.Tables[0].Columns.Add("column_1", typeof(string));
ds.Tables[0].Columns.Add("column_2", typeof(int));
ds.Tables[0].Columns.Add("column_4", typeof(string));
más adelante en mi código que estoy queriendo insertar una columna entre la columna 2 y columna 4.
conjuntos de datos tienen métodos para agregar una columna, pero parece que no puedo encontrar la mejor manera de insertar una.
me gustaría escribir algo como lo siguiente ...
...Columns.InsertAfter("column_2", "column_3", typeof(string))
El resultado final debe ser un conjunto de datos que tiene una tabla con las siguientes columnas: columna_1 Columna_2 Columna_3 column_4
en lugar de: column_1 column_2 column_4 column_3 que es lo que el método add me da
seguramente debe haber una manera de hacer algo como esto.
Editar ... Apenas el deseo de aclarar lo que estoy haciendo con el conjunto de datos basado en algunos de los comentarios a continuación:
estoy recibiendo un conjunto de datos a partir de un procedimiento almacenado . Entonces, tengo que agregar columnas adicionales al conjunto de datos que luego se convierte en un documento de Excel . No tengo control sobre los datos devueltos por el proceso almacenado , así que tengo que agregar columnas después del hecho .
Sólo por curiosidad, ¿por qué están tratando de hacer esto? Por lo general, no es una buena idea que el código de la base de datos dependa del orden en que se almacenan las columnas. – Ferruccio
Estoy obteniendo un conjunto de datos de un procedimiento almacenado. Entonces, tengo que agregar columnas adicionales al conjunto de datos que luego se convierte en un documento de Excel. No tengo control sobre los datos devueltos por el proceso almacenado, así que tengo que agregar columnas después del hecho. – mezoid
He estado allí. A veces solo tienes que escribir un truco. Usualmente, porque tu jefe lo exige. –