Possiedo un Datatable con colonne denominate foldername
, documentname
. I dati, come di seguito:Ordinamento della tabella di dati per più colonne mediante C#
FolderName DocumentName
Folder1 HR[D] Document
Folder1 ___----'
Folder1 Asp_example.pdf
Folder2 SD
Folder3 Heavy_weight
Folder3 Accesorial Services
Come alphabetically
sorta DocumentName basa su FolderName in .Net Framework 2.0
.
Soluzione che abbiamo provato è sotto ma richiede troppo tempo in quanto contiene più di 1200000 record.
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;
}
Si dice che queste informazioni sono ottenute dal Database, quindi perché non si fa la clausola ORDER BY nella query SQL? Altrimenti hai provato a utilizzare un DataView anziché un DataTable? –