¿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".

la furgoneta
fuente

Respuestas:

251

Prueba esto:

dataTable.Columns["Marks"].ColumnName = "SubjectMarks";
Luna
fuente
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";
Saurabh
fuente
7
 dtTempColumn.Columns["EXCELCOLUMNS"].ColumnName = "COLUMN_NAME";                        
 dtTempColumn.AcceptChanges();
Hardik Shah
fuente
¿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.

Pankaj Agarwal
fuente
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í

tanteng
fuente
0

Utilizar este

dataTable.Columns["OldColumnName"].ColumnName = "NewColumnName";
Anurag Deokar
fuente
0

Utilizar:

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

o

dt.Columns[0].ColumnName = "xyz";
dt.AcceptChanges();
Subhash Saini
fuente