C#: набор данных Datatable не упорядочиваетсяC#

Место общения программистов C#
Anonymous
C#: набор данных Datatable не упорядочивается

Сообщение Anonymous »

У меня есть набор записей о вычетах, которые необходимо сначала отсортировать, прежде чем отправлять. Каждая запись о вычете, идентифицируемая полем DEDUCTION_ID, имеет необязательное поле NOMINATED_DED, которое само по себе является вычетом. Оба являются значениями GUID. Мне нужно, чтобы мой набор данных был отсортирован таким образом, чтобы все родительские выводы сортировались перед их дочерними.
Например, если вывод имеет идентификатор e2e1d5f4-8f2e-4e23-b8c3-5f0a1b2e6a8bимеет NOMINATED_DED 3f2504e0-4f89-11d3-9a0c-0305e82c3301, мне нужно убедиться, что родительский Deduction с идентификатором 3f2504e0-4f89-11d3-9a0c-0305e82c3301 находится над его дочерним элементом в наборе данных.
Однако это не работает.

Код: Выделить всё

DataTable orderedDataTable = dsToInsert.Tables[0].AsEnumerable()
.OrderBy(row => row.Field("CALCERNGSACC")) //These are some prior sorting for the other fields
.ThenBy(row => row.Field("DEDTYPE")) // These are some prior sorting for the other fields
.ThenBy(row =>
{
Guid? nomDedId = row.Field("NOMINATED_DED");
return nomDedId.HasValue ? 1 : 0;
})
.ThenBy(row =>
{
if (row.Field("NOMINATED_DED") == null)
{
// Parent row should be sorted by its own ID
return row.Field("DEDUCTION_ID");
}
else
{
// Child row should be sorted by its offset ID
return row.Field("NOMINATED_DED").Value;
}
})
.CopyToDataTable();
Я пытался отсортировать набор данных, но он находится в неправильном порядке.

Подробнее здесь: https://stackoverflow.com/questions/787 ... ng-ordered

Вернуться в «C#»