¿Cómo cambiar el nombre de la columna de DataTable?


118

Tengo una DataTable que tiene cuatro columnas como

 StudentID        CourseID          SubjectCode            Marks    
------------     ----------        -------------          --------
    1               100              MT400                  80
    2               100              MT400                  79
    3               100              MT400                  88

Aquí estoy insertando esta tabla de datos en la tabla del servidor Sql pasando esta tabla de datos como una tabla XML.

Solo quiero cambiar el nombre de columna de DataTable "Marks" como "SubjectMarks" y pasar este DataTable como una tabla XML.

Sé cómo pasar el DataTable como una tabla XML. Pero no sé, cómo cambiar el nombre de columna de DataTable "Marcas" como "SubjectMarks".

Respuestas:


251

Prueba esto:

dataTable.Columns["Marks"].ColumnName = "SubjectMarks";

1
Hola, probé esta solución pero de alguna manera mis datos se pierden cuando cambio el nombre de la columna.
Bat_Programmer

2
Acabo de probar esta solución ahora y funciona bien: no hizo ningún cambio ni eliminó los datos de la columna subyacente. Tal vez algo más esté sucediendo en su código ...
AshesToAshes

1
¿Qué pasa si el nombre original 'Marcas' puede contener espacios en blanco?
lawphotog

27

Cambie el nombre de la columna haciendo lo siguiente:

dataTable.Columns["ColumnName"].ColumnName = "newColumnName";

7
 dtTempColumn.Columns["EXCELCOLUMNS"].ColumnName = "COLUMN_NAME";                        
 dtTempColumn.AcceptChanges();

¿Qué hace aquí su código adicional? Agregar comentarios ayudaría.
nawfal

1

después de generar XML, puede simplemente Reemplazar sus XML <Marks>... content here </Marks>etiquetas con <SubjectMarks>... content here </SubjectMarks>tag. y pasar XML actualizado a su base de datos.

Editar: aquí explico el proceso completo aquí.

Su XML genera como se muestra a continuación.

<NewDataSet>
      <StudentMarks> 
          <StudentID>1</StudentID>
          <CourseID>100</CourseID>
          <SubjectCode>MT400</SubjectCode>
          <Marks>80</Marks>
      </StudentMarks>
      <StudentMarks> 
          <StudentID>1</StudentID>
          <CourseID>100</CourseID>
          <SubjectCode>MT400</SubjectCode>
          <Marks>79</Marks>
      </StudentMarks>
      <StudentMarks> 
          <StudentID>1</StudentID>
          <CourseID>100</CourseID>
          <SubjectCode>MT400</SubjectCode>
          <Marks>88</Marks>
      </StudentMarks>
  </NewDataSet>

Aquí puede asignar XML a una variable de cadena como

string strXML = DataSet.GetXML();

strXML = strXML.Replace ("<Marks>","<SubjectMarks>");
strXML = strXML.Replace ("<Marks/>","<SubjectMarks/>");

y ahora pase strXML a su base de datos. Espero que te ayude.


1

prueba esto

"columns": [
{data: "id", name: "aaa", sortable: false},
{data: "userid", name: "userid", sortable: false},
{data: "group_id", name: "group_id", sortable: false},
{data: "group_name", name: "group_name", sortable: false},
{data: "group_member", name: "group_member"},
{data: "group_fee", name: "group_fee"},
{data: "dynamic_type", name: "dynamic_type"},
{data: "dynamic_id", name: "dynamic_id"},
{data: "content", name: "content", sortable: false},
{data: "images", name: "images", sortable: false},
{data: "money", name: "money"},
{data: "is_audit", name: "is_audit", sortable: false},
{data: "audited_at", name: "audited_at", sortable: false}

]

ingrese la descripción de la imagen aquí


0

Utilizar este

dataTable.Columns["OldColumnName"].ColumnName = "NewColumnName";

0

Utilizar:

dt.Columns["Name"].ColumnName = "xyz";
dt.AcceptChanges();

o

dt.Columns[0].ColumnName = "xyz";
dt.AcceptChanges();
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.