Bagaimana cara mengubah Nama Kolom DataTable?

118

Saya memiliki satu DataTable yang memiliki empat kolom seperti

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

Di sini saya memasukkan Datatable ini ke dalam tabel server Sql dengan melewatkan datatable ini sebagai Tabel XML.

Saya hanya ingin Mengubah Nama Kolom DataTable "Marks" sebagai "SubjectMarks" dan meneruskan DataTable ini sebagai Tabel XML.

Saya tahu cara melewatkan DataTable sebagai Tabel XML. Tapi saya tidak tahu, Bagaimana cara mengubah Nama Kolom DataTable "Marks" sebagai "SubjectMarks".

thevan
sumber

Jawaban:

251

Coba ini:

dataTable.Columns["Marks"].ColumnName = "SubjectMarks";
Bulan
sumber
1
Hai, Saya mencoba solusi ini tetapi entah bagaimana data saya hilang ketika saya mengubah nama kolom.
Bat_Programmer
2
Saya baru saja mencoba solusi ini sekarang dan berfungsi dengan baik - tidak melakukan perubahan apa pun atau menghapus data kolom yang mendasarinya. Mungkin ada hal lain yang terjadi di kode Anda ...
AshesToAshes
1
bagaimana jika nama asli 'Marks' dapat mengandung spasi?
lawphotog
27

Ubah nama Kolom dengan melakukan hal berikut:

dataTable.Columns["ColumnName"].ColumnName = "newColumnName";
Saurabh
sumber
7
 dtTempColumn.Columns["EXCELCOLUMNS"].ColumnName = "COLUMN_NAME";                        
 dtTempColumn.AcceptChanges();
Hardik Shah
sumber
Apa yang dilakukan kode tambahan Anda di sini? Menambahkan komentar akan membantu.
nawfal
1

setelah membuat XML Anda bisa langsung mengganti XML <Marks>... content here </Marks>tag Anda dengan <SubjectMarks>... content here </SubjectMarks>tag. dan meneruskan XML yang diperbarui ke DB Anda.

Edit: Saya di sini menjelaskan proses lengkapnya di sini.

XML Hasilkan Anda Seperti di bawah ini.

<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>

Di sini Anda dapat menetapkan XML ke variabel string seperti

string strXML = DataSet.GetXML();

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

dan sekarang berikan strXML ke DB Anda. Semoga ini bisa membantu Anda.

Pankaj Agarwal
sumber
1

coba ini

"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}

]

masukkan deskripsi gambar di sini

tanteng
sumber
0

Gunakan ini

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

Menggunakan:

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

atau

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