Mir의 운영환경 | |
---|---|
본체 | DeskTop |
O S | Windows XP Professional Ver 2002 Service Pack 2 |
Application | VisualStudio2010 |
.Net | Framework Ver 3.5 |
System.Data.DataTable.DefaultView.ToTable()을 이용하여 중복 Row를 제거해보자.
DataTable.DefaultView.ToTable() 메소드는 기본적으로 Table을 Copy하여 리턴해줍니다.
DataTable.Copy()와 다른점은 DataTable이 아닌 DataView를 기준으로 Copy를 해주며
Copy와 동시에 인자값을 어떻게 넣어주냐에 따라 중복 Data제거(Distinct) 와 특정 컬럼만 복사를 할수 있습니다.
그중 중복 Data제거를 사용할려면 인자값으로 true만 넣어주면 됩니다.
주의할점은 ToTable()은 중복 Data를 제거한 DataTable을 리턴값으로 넘겨주기 때문에 리턴값을 받을 변수를 지정해줘야 합니다.
예제
//중복 Data 제거
DataTable = DataTable.DefaultView.ToTable(true);
아래 예제 소스는 간단히 Data를 넣고 중복제거시 어떻게 변하는지 확인해보는 소스입니다.
기존 Data
Data 제거 소스
using System.Data;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//학생 DataTable 생성
DataTable dt = Create_Student_DataTable();
//학생 Data 넣기
Add_Studint_Row(dt);
//중복 Data 제거
dt = dt.DefaultView.ToTable(true);
//DataGridView에 표시
dataGridView1.DataSource = dt;
}
private DataTable Create_Student_DataTable()
{
//DataTable 생성
DataTable dt = new DataTable { TableName = "TestTbl" };
//Columns 생성
dt.Columns.AddRange(new DataColumn[] {
new DataColumn { ColumnName = "Index", Caption = "학번", DataType = typeof(int) }
, new DataColumn { ColumnName = "Name", Caption = "이름", DataType = typeof(string) }
, new DataColumn { ColumnName = "Sex", Caption = "성별", DataType = typeof(string) }
});
return dt;
}
private void Add_Studint_Row(DataTable dt)
{
dt.Rows.Add(new object[] { 1, "미르", "남" });
dt.Rows.Add(new object[] { 2, "미리", "여" });
dt.Rows.Add(new object[] { 1, "미르", "남" });
dt.Rows.Add(new object[] { 3, "미자", "여" });
dt.Rows.Add(new object[] { 4, "미르", "여" });
dt.Rows.Add(new object[] { 5, "미시", "여" });
}
}
}
중복 제거후 Data
'C# > DataTable' 카테고리의 다른 글
[C#/.Net] DataGridView에 넣을 테스트 데이터 생성하기 (0) | 2021.01.12 |
---|---|
[C#/.Net] DataTable에 부서,팀별 합계 데이터 삽입하기 (0) | 2016.01.09 |
[C#/.Net] SQL Group by Sum 효과 메소드 (0) | 2016.01.08 |
[C#/.Net] Object Array를 사용하여 DataTable Row 한번에 추가하기 (0) | 2015.11.12 |
[C#/.Net] DataTable 복수 Column 한번에 추가하기 (0) | 2015.11.09 |