Kingshuk_SP Ответов: 1

Datatable group с помощью linq (или любого другого подхода)


У меня есть datatable, как показано ниже:

Name        Address
Name1       Address1
Name2       Address2
Name3       Address1
Name4       Address3
Name5       Address2
Name6       Address4


Я хочу, чтобы вышеприведенная таблица выглядела так:

Name        Address
Name1       Address1
Name3       
Name2       Address2
Name5       
Name4       Address3
Name6       Address4


Что я уже пробовал:

Я уже пробовал вот так:

dt = dt.AsEnumerable().OrderBy(r => r.Field<string>("Craft")).CopyToDataTable();


но он только получает это ниже таблицы:

Name        Address
Name1       Address1
Name3       Address1
Name2       Address2
Name5       Address2
Name4       Address3
Name6       Address4


and then sort Names (according to Address)

and the Address value should display in middle(only once) adjacent to names (under address column only)

remove the duplicate values in Address column Like:


Name      Address
Name1       Address1
Name3       
Name2       Address2
Name5        



вот чего я хочу

1 Ответов

Рейтинг:
8

OriginalGriff

Это не группа: группировка сгущает информацию в сводки, а не собирает их вместе. Это может помочь вам понять идею - она предназначена для SQL-запросов, но ее; точно такой же принцип: SQL GROUP By и ошибка" имя столбца недопустимо в списке выбора, потому что..."[^]

То, что вы пытаетесь сделать, - это отсортировать записи, а не сгруппировать их, для чего вам нужен OrderBy:

dt = dt.AsEnumerable().OrderBy(r => r.Field<string>("Address")).CopyToDataTable();


Kingshuk_SP

Мне это нужно немного измененным способом, как показано ниже:

Имя Адрес
Имя 1 Адрес1
Имя3
Имя 4 Адрес2
ФИО2 Address3
ФИО5 Address4

как и выше, Address1 должен появиться один раз.