foldername
,documentname
という名前の列を持つデータテーブルがあります。以下のようにデータ:.Net Framework 2.0
にフォルダ名に基づいて、どのようにalphabetically
ソートDOCUMENTNAMEC#を使用して複数の列でデータテーブルをソート
FolderName DocumentName
Folder1 HR[D] Document
Folder1 ___----'
Folder1 Asp_example.pdf
Folder2 SD
Folder3 Heavy_weight
Folder3 Accesorial Services
。
私たちが試した解決策は以下のとおりですが、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;
}
この情報はデータベースから取得したものですが、なぜSQLクエリでORDER BY句を使用しないのですか?それ以外の場合は、DataTableではなくDataViewを使用してみましたか? –