DataTable Sütun Adı nasıl değiştirilir?


118

Şu dört sütuna sahip bir DataTable'ım var:

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

Burada bu Datatable'ı XML Tablosu olarak bu datatable'ı geçirerek Sql sunucu tablosuna ekliyorum.

Sadece DataTable Sütun Adı "İşaretlerini" "Konu İşaretleri" olarak değiştirmek ve bu DataTable'ı bir XML Tablosu olarak geçirmek istiyorum.

DataTable'ı XML Tablosu olarak nasıl geçireceğimi biliyorum. Ama bilmiyorum, DataTable Sütun Adı "İşaretlerini" "Konu İşaretleri" olarak nasıl değiştirebilirim.

Yanıtlar:


251

Bunu dene:

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

1
Merhaba, bu çözümü denedim ama sütun adını değiştirdiğimde bir şekilde verilerim kayboluyor.
Bat_Programmer

2
Bu çözümü şimdi denedim ve iyi çalışıyor - herhangi bir değişiklik yapmadı veya temeldeki sütun verilerini silmedi. Belki kodunuzda başka bir şey oluyor ...
AshesToAshes

1
orijinal adı 'İşaretler' boşluk içerebiliyorsa ne olur?
lawphotog

27

Aşağıdakileri yaparak Sütunu yeniden adlandırın:

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

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

Ek kodunuz burada ne işe yarar? Yorum eklemek yardımcı olacaktır.
nawfal

1

XML oluşturduktan sonra XML <Marks>... content here </Marks>etiketlerinizi ile değiştirebilirsiniz <SubjectMarks>... content here </SubjectMarks>tag. ve güncellenmiş XML'i veritabanınıza iletin.

Düzenleme: Burada tüm süreci burada açıklıyorum.

XML'iniz aşağıdaki gibi üretilir.

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

Burada dize değişkenine aşağıdaki gibi XML atayabilirsiniz:

string strXML = DataSet.GetXML();

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

ve şimdi strXML'yi DB'nize geçirin. Umarım sana yardımcı olur.


1

bunu dene

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

]

görüntü açıklamasını buraya girin


0

Bunu kullan

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

0

kullanın:

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

veya

dt.Columns[0].ColumnName = "xyz";
dt.AcceptChanges();
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.