У меня есть сильный типизированных DataTable с именем учетной записи которым я отсортирован по Account.FullName:Преобразование Рассортировано DataView в типизированных DataTable
DataView dvAccount = new DataView(dtAccount)
dvAccount.Sort = "FullName desc";
ПолноеИмя является генерируемое поле из моего DataSet после моего запроса, основанный на имени, средний, последний и т. д. Это означает, что сортировка по SQL-запросу, к сожалению, не является вариантом.
Сначала я пытался получить таблицу, как это:
dtAccount = dvAccount.Table()
Но это дало мне оригинальный СТОЛ DataView был основан на. Таким образом, после прочтения в Интернете я узнал, что я должен использовать функцию DataView.ToTable()
вместо функции DataView.Table()
:
dtAccount = dvAccount.ToTable() as dsAccount.AccountDataTable; // returns null
dtAccount = ((dsAccount.AccountDataTable) dvAccount.ToTable()); // gives Convertion to Typed Datatable Error
Теперь я получаю эту проблему, что моя учетная запись Таблицы является сильным типизированной. поэтому поиск в Интернете говорит мне, что я могу пойти с функцией DataTable.Merge()
или DataTable.ImportRow()
для каждой строки, но они говорят, что это очень тяжелые процедуры, потому что каждая строка проверяется на типе. Каково наилучшее решение этой ситуации?
Почему вы не удаляете DataTable из DataSet и не добавляете отсортированный DataTable в DataSet. –
Hi Nikhil! Спасибо за быстрый ответ. Можете ли вы привести пример или более подробное объяснение вашего совета? Я использую Asp.Net с уровнем Dataset и бизнес-слоем (Multi-Tier setup), где последнее - это то место, где я хочу делать свои сортировки, предпочтительно, так как я повторно использую свои наборы данных с запросами в нескольких местах – Jeroen