본문 바로가기
다양한 실전소스코드/WINFORM(C#)

[Solved] C# datatable 다루기_값 찾기 등

by aibattle 2021. 5. 14.
728x90
반응형

데이터 테이블을 만들고

복사하고, 다른테이블로 값들을 옮기는 등의 내용을 정리했습니다.

향후 다른 내용들은 아는대로 추가해서 수정할 예정입니다.

// [ 데이터 테이블 만들기 ]

//1. Column 준비

private DataTable GetColumnTable1()

{

DataTable Test1 = new DataTable();

Test1.Columns.Add("열이름", typeof(string));

Test1.Columns.Add("열이름2", typeof(string));

Test1.Columns.Add("열이름3", typeof(string));

return Test1;

}

private void MakeTB()

{

//2. Table 만들기

DataTable Table1 = GetColumnTable1();

}

//3. OrgTable에서 내가 만든 새로운 테이블쪽으로, 내가 필요한 데이터만 가공해서 옳기는 방법

foreach (DataRow dr in OrgTable.Rows)

{

DataRow tempRow = Table1.NewRow();

tempRow[0] = dr[0];

tempRow[1] = dr[3];

tempRow[2] = Math.Abs(Math.Round((double)dr[3] - (double)dr[4], 2));

Table1.Rows.Add(TempRow);

//또는 컬럼전체를 넘길 때..

if (dr[0].Tostring() == "A")

{

Table1.Rows.Add(dr.ItemArray);

}

}

//[ 데이터 테이블 사본만들기 ]

DataTable a = b.copy;

}

//ㅁ 찾는 값의 존재 유무 확인

private int MaterialOk(string MaterialCode)

{

DataRow[] copyRows;

string imQuery;

//품목 정보 .

int i = 0;

imQuery = "MaterialCode ='" + MaterialCode.ToString() + "'";

copyRows = 데이터셋1.Tables["Material"].Select(imQuery);

if (copyRows.Length > 0)

{

return 1;

}

else

{

return 0;

}

}

//ㅁ DataRow 정보 삭제

private void WorkItemPaintDelete(string WorkCode)

{

DataRow[] deleteRows;

string strQuerry = "WorkCode ='" + WorkCode + "'";

deleteRows = dsWorkItemPaint.Tables["WorkItemPaint"].Select(strQuerry);

foreach (DataRow dr in deleteRows)

{

dr.BeginEdit();

dr.Delete();

dr.EndEdit();

}

}

datatable1

.rtf

0.00MB

728x90
반응형

댓글