У меня есть две таблицы данных, в которой у меня есть мои данные (D1) с уникальным идентификатором данных и в другой таблице данных (D2), у меня есть идентификаторы всех записи моей таблицы данных (D1) в определенном порядке. Как я могу сортировать таблицу данных (D1) в соответствии с порядком идентификаторов в D2.I использую C# asp.netСортировка таблицы данных на основе порядка сортировки из другой таблицы данных
ответ
Вы можете скопировать строки в таблице заказов в Dicationary
с индексом. Если предположить, что ключевое поле называется Key
код может выглядеть следующим образом:
static void Main(string[] args)
{
var dt = new DataTable("Data");
var dtOrder = new DataTable("Order");
// Insert some data here
int i = 0;
var orderDict = new Dictionary<object, int>();
foreach(DataRow row in dtOrder.Rows)
{
orderDict.Add(row["Key"], ++i);
}
var ordered = dt.Rows.Cast<DataRow>().OrderBy(r => orderDict[r["Key"]]);
}
Как я прочитал комментарий Peaceman71, я думаю, что стоит отметить, что это отсоединен подход. Любое правильное программное обеспечение базы данных сделает это и для вас.
Это зависит от того, хотите ли вы для этого в коде или в базе данных.
В базе данных вы бы объединить эти две таблицы, такие как (MS-SQL/T-SQL):
SELECT D2.Sort, D1.* FROM D2 LEFT JOIN D1 ON D2.ID = D1.ID ORDER BY D2.Sort
В коде это очень сильно зависит от того, где вы храните данные. DataSet, DataTables и т. Д.
Я хочу, чтобы это сделать в коде C# ... У меня есть данные как две таблицы данных – iJade
Благодарим вас за разъяснение. Тогда у вас есть хороший ответ от Муду. – Peaceman71
Вы также можете создать DataSet и добавить две таблицы и отношения. Но я думаю, что этот подход - это больше усилий, чтобы сделать то же самое. – Peaceman71
- 1. Сортировка данных из одной таблицы на основе другой таблицы
- 2. Mysql сортировка таблицы на основе другой таблицы
- 3. удалять записи из таблицы на основе данных из другой таблицы
- 4. Сортировка данных из таблицы
- 5. решения для обновления таблицы на основе данных из другой таблицы
- 6. Выбор данных на основе другой таблицы
- 7. Выбор данных на основе другой таблицы
- 8. выборка данных на основе другой таблицы
- 9. Сортировка связанных данных таблицы
- 10. Сортировка данных из MySQL таблицы
- 11. выберите строки из таблицы, основанные на данных из другой таблицы
- 12. Сортировка данных таблицы
- 13. Сортировка Divs на основе атрибута сортировки данных
- 14. Удаление таблицы на основе имени другой таблицы
- 15. Получение данных из другой таблицы
- 16. Обновить таблицу данных на основе другой таблицы данных
- 17. Извлечение данных из другой таблицы
- 18. Импорт данных из другой таблицы
- 19. Вставка данных из другой таблицы
- 20. Выбор конкретных строк на основе данных из другой таблицы
- 21. Добавить текст в поле на основе данных из другой таблицы
- 22. Классифицировать столбец таблицы на основе другой таблицы
- 23. Вставка данных из другой таблицы
- 24. Чтение данных из другой таблицы
- 25. Обогащение таблицы данных с производными значениями из другой таблицы данных.
- 26. mysql сортировка столбцов на основе поля из другой таблицы
- 27. выбора данных из таблицы на основе даты
- 28. Выбор и заказ данных из другой таблицы
- 29. Сортировка таблицы excel на основе 1 колонки
- 30. выберите строку из таблицы, на основе ввода другой таблицы и удалять данные из другой таблицы
ok этот запрос сортирует только один столбец таблицы данных D1 на основе D2, я хочу сортировать всю таблицу данных D1 на основе идентификатора в D2 – iJade
Нет, это не полностью верно. 'ordered' - это' IOrderedEnumerable 'и содержит полные строки' dt'/'D1'. –
Извините, мой код ошибки работает отлично thnks ..... – iJade