จะเปลี่ยนชื่อคอลัมน์ DataTable ได้อย่างไร


118

ฉันมี DataTable หนึ่งรายการซึ่งมีสี่คอลัมน์เช่น

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

ที่นี่ฉันกำลังแทรก Datatable นี้ลงในตารางเซิร์ฟเวอร์ Sql โดยส่งข้อมูลนี้เป็นตาราง XML

ฉันแค่ต้องการเปลี่ยนชื่อคอลัมน์ DataTable "Marks" เป็น "SubjectMarks" และส่ง DataTable นี้เป็นตาราง XML

ฉันรู้วิธีส่ง DataTable เป็นตาราง XML แต่ฉันไม่รู้วิธีเปลี่ยนชื่อคอลัมน์ DataTable "Marks" เป็น "SubjectMarks"

คำตอบ:


251

ลองสิ่งนี้:

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

1
สวัสดีฉันลองวิธีแก้ปัญหานี้แล้ว แต่ข้อมูลของฉันหายไปเมื่อฉันเปลี่ยนชื่อคอลัมน์
Bat_Programmer

2
ฉันเพิ่งลองวิธีแก้ปัญหานี้ตอนนี้และใช้งานได้ดี - ไม่ได้ทำการเปลี่ยนแปลงใด ๆ หรือล้างข้อมูลคอลัมน์ที่อยู่ข้างใต้ อาจมีบางอย่างเกิดขึ้นในรหัสของคุณ ...
AshesToAshes

1
จะเกิดอะไรขึ้นถ้าชื่อเดิม 'Marks' มีช่องว่าง?
lawphotog

27

เปลี่ยนชื่อคอลัมน์โดยทำดังต่อไปนี้:

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


1

หลังจากสร้าง XML แล้วคุณสามารถแทนที่XML <Marks>... content here </Marks>แท็กของคุณ<SubjectMarks>... content here </SubjectMarks>tagได้ และส่ง XML ที่อัปเดตไปยังฐานข้อมูลของคุณ

แก้ไข: ฉันอธิบายกระบวนการทั้งหมดที่นี่

XML ของคุณสร้าง Like ดังต่อไปนี้

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

ที่นี่คุณสามารถกำหนด XML ให้กับตัวแปรสตริงเช่น as

string strXML = DataSet.GetXML();

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

และตอนนี้ส่ง strXML ไปยังฐานข้อมูลของคุณ หวังว่ามันจะช่วยคุณได้


1

ลองดู

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

]

ใส่คำอธิบายภาพที่นี่



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.