반응형
데이터 테이블 정렬
다음 두 가지 방법으로 데이터 테이블을 정렬하려고 했습니다.
table.DefaultView.Sort = "Town ASC, Cutomer ASC"
table.Select("", "Town ASC, Cutomer ASC")
하지만 그들 중 아무도 일하지 않았습니다.항상 데이터를 원래 순서대로 표시합니다.당신은 그 문제를 해결할 아이디어가 있습니까?
이것이 새로운 변수를 만들지 않고도 데이터 테이블을 정렬할 수 있는 가장 짧은 방법이었습니다.
DataTable.DefaultView.Sort = "ColumnName ASC"
DataTable = DataTable.DefaultView.ToTable
위치:
ASC - 오름차순
DESC - 내림차순
열 이름 - 정렬 기준으로 사용할 열
데이터 테이블 - 정렬할 테이블
사용해 보십시오.
Dim dataView As New DataView(table)
dataView.Sort = " AutoID DESC, Name DESC"
Dim dataTable AS DataTable = dataView.ToTable()
기본 보기에서 정렬 식을 설정한 후(table.DefaultView.Sort = "Town ASC, Cutomer ASC"
) DataTable 인스턴스 자체가 아닌 DefaultView를 사용하여 테이블을 루프해야 합니다.
foreach(DataRowView r in table.DefaultView)
{
//... here you get the rows in sorted order
Console.WriteLine(r["Town"].ToString());
}
대신 DataTable의 Select 메서드를 사용하면 DataRow 배열이 생성합니다.이 배열은 데이터 테이블이 아닌 요청에서 정렬됩니다.
DataRow[] rowList = table.Select("", "Town ASC, Cutomer ASC");
foreach(DataRow r in rowList)
{
Console.WriteLine(r["Town"].ToString());
}
이것은 저에게 효과가 있었습니다.
dt.DefaultView.Sort = "Town ASC, Cutomer ASC";
dt = dt.DefaultView.ToTable();
private void SortDataTable(DataTable dt, string sort)
{
DataTable newDT = dt.Clone();
int rowCount = dt.Rows.Count;
DataRow[] foundRows = dt.Select(null, sort);
// Sort with Column name
for (int i = 0; i < rowCount; i++)
{
object[] arr = new object[dt.Columns.Count];
for (int j = 0; j < dt.Columns.Count; j++)
{
arr[j] = foundRows[i][j];
}
DataRow data_row = newDT.NewRow();
data_row.ItemArray = arr;
newDT.Rows.Add(data_row);
}
//clear the incoming dt
dt.Rows.Clear();
for (int i = 0; i < newDT.Rows.Count; i++)
{
object[] arr = new object[dt.Columns.Count];
for (int j = 0; j < dt.Columns.Count; j++)
{
arr[j] = newDT.Rows[i][j];
}
DataRow data_row = dt.NewRow();
data_row.ItemArray = arr;
dt.Rows.Add(data_row);
}
}
언급URL : https://stackoverflow.com/questions/12472913/sorting-a-data-table
반응형
'source' 카테고리의 다른 글
바우어의 기본 구성 요소 폴더를 변경하는 방법은 무엇입니까? (0) | 2023.05.22 |
---|---|
SQL을 통해 최소 순차적 액세스 기간을 결정하시겠습니까? (0) | 2023.05.22 |
Eclipse에서 스페이스 바 키 누름이 자동 완성을 트리거하지 않도록 합니다. (0) | 2023.05.22 |
COUNT 집계에 "0"/"0" 결과를 포함시키는 방법은 무엇입니까? (0) | 2023.05.22 |
작동하지 않는 경우 Windows 배치 SET 내부 (0) | 2023.05.22 |