에 두 개의 열 DataTable
이 있습니다.
COL1 COL2
Abc 5
Def 8
Ghi 3
우리는이 정렬하려는 datatable
에 따라 COL2
순서를 감소한다.
COL1 COL2
ghi 8
abc 4
def 3
jkl 1
우리는 이것을 시도했다 :
ft.DefaultView.Sort = "COL2 desc";
ft = ft.DefaultView.ToTable(true);
그러나을 사용하지 않고을 제외한 자체 DataView
를 정렬하려고 DataTable
합니다 DataView
.
답변
원하는 것처럼 들리는 것처럼 일종의 DataTable을 쉽게 수행 할 수 없습니다.
수행 할 수있는 작업은 원래 DataTable에서 만든 DataView에서 새 DataTable을 만드는 것입니다. DataView에 원하는 정렬 및 / 또는 필터를 적용한 다음 DataView.ToTable 메서드를 사용하여 DataView 에서 새 DataTable을 만듭니다 .
DataView dv = ft.DefaultView;
dv.Sort = "occr desc";
DataTable sortedDT = dv.ToTable();
답변
이것은 당신을 도울 것입니다 …
DataTable dt = new DataTable();
dt.DefaultView.Sort = "Column_name desc";
dt = dt.DefaultView.ToTable();
답변
그것의 간단한 사용. 선택 기능.
DataRow[] foundRows=table.Select("Date = '1/31/1979' or OrderID = 2", "CompanyName ASC");
DataTable dt = foundRows.CopyToDataTable();
그리고 완료되었습니다 … 해피 코딩
답변
다음이 도움이 될 수 있습니다.
DataRow[] dataRows = table.Select().OrderBy(u => u["EmailId"]).ToArray();
여기에서 다른 Lambda 식 쿼리도 사용할 수 있습니다.
답변
Select(filterExpression, sortOrder)
DataTable 에서 메소드 를 사용해 보셨습니까 ? 예를 보려면 여기 를 참조 하십시오 . 이 방법은 원하는 데이터 테이블을 정렬하지 않지만 데이터보기를 사용하지 않고 정렬 된 행 배열을 반환합니다.
답변
또는을 사용할 수 있으면 다음 DataGridView
과 같이 전화하십시오 Sort(column, direction)
.
namespace Sorter
{
using System;
using System.ComponentModel;
using System.Windows.Forms;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.dataGridView1.Rows.Add("Abc", 5);
this.dataGridView1.Rows.Add("Def", 8);
this.dataGridView1.Rows.Add("Ghi", 3);
this.dataGridView1.Sort(this.dataGridView1.Columns[1],
ListSortDirection.Ascending);
}
}
}
원하는 결과를 얻을 수 있습니다.
답변
table.DefaultView.Sort = "[occr] DESC";