DataTable 열 이름을 변경하는 방법은 무엇입니까?


118

다음과 같은 4 개의 열이있는 하나의 DataTable이 있습니다.

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

여기서는이 데이터 테이블을 XML 테이블로 전달하여이 데이터 테이블을 Sql 서버 테이블에 삽입합니다.

DataTable 열 이름 "Marks"를 "SubjectMarks"로 변경하고이 DataTable을 XML 테이블로 전달하려고합니다.

DataTable을 XML 테이블로 전달하는 방법을 알고 있습니다. 하지만 DataTable 열 이름 "Marks"를 "SubjectMarks"로 변경하는 방법을 모르겠습니다.

답변:


251

이 시도:

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

1
안녕하세요,이 솔루션을 시도했지만 열 이름을 변경하면 어떻게 든 내 데이터가 손실됩니다.
Bat_Programmer 2011 년

2
지금 막이 솔루션을 시도했지만 제대로 작동합니다. 변경 사항이 없거나 기본 열 데이터를 지우지 않았습니다. 코드에서 다른 일이
발생할

1
원래 이름 'Marks'에 공백이 포함될 수 있다면 어떻게됩니까?
lawphotog 2014 년

27

다음을 수행하여 열 이름을 바꿉니다.

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

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

여기서 추가 코드는 무엇을합니까? 댓글을 추가하면 도움이 될 것입니다.
nawfal

1

XML을 생성 한 후 XML <Marks>... content here </Marks>태그를 <SubjectMarks>... content here </SubjectMarks>tag. 업데이트 된 XML을 DB에 전달합니다.

편집 : 여기에서 전체 프로세스를 설명합니다.

XML은 아래와 같이 생성됩니다.

<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을 다음과 같이 문자열 변수에 할당 할 수 있습니다.

string strXML = DataSet.GetXML();

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

이제 strXML을 DB에 전달하십시오. 도움이되기를 바랍니다.


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}

]

여기에 이미지 설명 입력



0

사용하다:

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

또는

dt.Columns[0].ColumnName = "xyz";
dt.AcceptChanges();
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.