use*_*665 8 c# sorting datatable .net-2.0
我有一个名为列的DataTable foldername
,documentname
.数据如下:
FolderName DocumentName
Folder1 HR[D] Document
Folder1 ___----'
Folder1 Asp_example.pdf
Folder2 SD
Folder3 Heavy_weight
Folder3 Accesorial Services
Run Code Online (Sandbox Code Playgroud)
如何alphabetically
基于FolderName对DocumentName 进行排序.Net Framework 2.0
.
我们尝试的解决方案如下,但由于它包含超过1200000条记录,因此需要花费太多时间.
int counter=0;
while (counter < searchDT.Rows.Count){
string FolderName = Convert.ToString(searchDT.Rows[counter]["Folder Name"]);
string exp = "[Folder Name] like '" + FolderName + "'";
if (FolderName.Contains("%") || FolderName.Contains("_") || FolderName.Contains("[]") || FolderName.Contains("'"))
exp = "[Folder Name] like '" + EscapeLikeValue(FolderName) + "'";
string sortExpression = "[Document Name] ASC";
DataRow[] drfoldername = searchDT.Select(exp, sortExpression);
foreach (DataRow row in drfoldername)
drfoldernameDT.ImportRow(row);
counter += drfoldername.Length;
}
Run Code Online (Sandbox Code Playgroud)
And*_*lva 39
DataTable dt = new DataTable();
DataView dv = new DataView(dt);
dv.Sort = "FolderName, DocumentName ASC";
Run Code Online (Sandbox Code Playgroud)
试试吧.它将首先对FolderName进行排序,然后对DocumentName进行排序.
如果您需要将其发送到屏幕中的组件,您可以像使用DataTable一样.
您尝试过 DataView.Sort 吗?
dt.DefaultView.RowFilter = "FolderName , DocumentName ASC";
dt = dt.DefaultView.ToTable();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
47128 次 |
最近记录: |