powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сортировка dataset с помощью vb.net
13 сообщений из 13, страница 1 из 1
Сортировка dataset с помощью vb.net
    #39035904
Asmodian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброго времени суток.

вобщем столкнулся с такой проблемой имеем две таблицы

lignetournee
numlignetournee (bigint identity) idclient (bigint) idarticle (bigint) ordreOrigine (int) ordreFinal (int)

и

article
idarticle (bigint) nomarticle(nvarchar(10))

Данные из них загружены в датасет запросом
Код: sql
1.
Select lignetournee.*, article.nomarticle From dbo.article, dbo.lignetournee where dbo.lignetournee.idarticle = dbo.article.idarticle order by ordreOrigine



имея такой набор данных
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
client 1 article A
client 1 article B
client 1 article C
client 2 article A
client 2 article C
client 2 article B
client 3 article A
client 3 article B



необходимо отсортировать, чтоб получить следующее

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
client 1 article B
client 1 article C
client 1 article A
client 2 article A
client 2 article C
client 2 article B
client 3 article B
client 3 article A



тоесть сортировка идет по имени статьи, меняя при этом значение поля ordreFinal, для дальнейшего вывода использую Order by ordreFinal

помогите советом. заранее спасибо
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39035907
Asmodian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
закинул пост в данный раздел, потому как использую проект WinForms. не велите казнить если запостил не туда
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39035958
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чём трабл? orderby клиент, потом артикл...
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39036028
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asmodian, DataTable не сортируется, но можно отстортировать DataView и превратить в DataTable (если нужно).
Код: c#
1.
2.
3.
DataView dv = ft.DefaultView;
dv.Sort = "occr desc";
DataTable sortedDT = dv.ToTable();


Ну или переключиться на EF где у тебя будет коллекция объектов которую проще сортировать.
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39036310
Asmodian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
v skopin, проблема в том что артикли сортируются не по алфавиту, а по такому же артиклю у следующего клиента, при этом клиенты должны идти строго по порядку
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39036361
Asmodian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazile, спасибо, но все таки отсортировать получается только по алфавиту или наоборот. а конекретно сортировку чтоб одинаковые артикли, уразных клиентов, стояли рядом, не представляю как сделать...
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39036461
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Asmodianbazile, спасибо, но все таки отсортировать получается только по алфавиту или наоборот. а конекретно сортировку чтоб одинаковые артикли, уразных клиентов, стояли рядом, не представляю как сделать...
Если сортируется более чем по двум полям, то надо сортировать bindingSouce у DataGridview.
https://msdn.microsoft.com/ru-ru/library/ms158208(v=vs.110).aspx

Если сортировка какая-то сложная, то надо сортировать в DataGridview колонку в режимt programastic. В этом случае можно написать сколь угодно сложный Comparer

https://msdn.microsoft.com/ru-ru/library/vstudio/wstxtkxs(v=vs.100).aspx
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39036553
Asmodian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2, проблема в том, что опыта у меня мало, и я уж как пару дней не могу себе представить алгоритм такой сортировки...
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39036795
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Asmodianv skopin, проблема в том что артикли сортируются не по алфавиту, а по такому же артиклю у следующего клиента, при этом клиенты должны идти строго по порядку
Возможны несколько вариантов:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
client 1 article B
client 1 article C
client 1 article A
client 2 article A
client 2 article C
client 2 article B
client 3 article B
client 3 article A


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
client 1 article A
client 1 article B
client 1 article C
client 2 article C
client 2 article B
client 2 article A
client 3 article A
client 3 article B


и т. д.
Как и какой вариант выбрать?

И есть ли гарантия, что у соседних по порядку клиентов найдутся одинаковые артикли?
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39036821
Asmodian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
petalvik, спасибо за ответ
вариант любой, гарантии нет
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39036852
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
AsmodianCat2, проблема в том, что опыта у меня мало, и я уж как пару дней не могу себе представить алгоритм такой сортировки...
Так и набирайтесь чужого опыта на форуме.

Во-первых, совет
v skopinВ чём трабл? orderby клиент, потом артикл...
Во-вторых, если нужно менять сортировку полученных данных на клиенте - мой или базиля

Базиля, доработанный
bazileAsmodian, DataTable не сортируется, но можно отстортировать DataView и превратить в DataTable (если нужно).
Код: c#
1.
2.
3.
DataView dv = ft.DefaultView;
dv.Sort = "client, article";
DataTable sortedDT = dv.ToTable();



Ну или переключиться на EF где у тебя будет коллекция объектов которую проще сортировать.
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39037215
Asmodian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2, я переключился на класс с объектами, но алгоритм такой сортировки построить не получается....
...
Рейтинг: 0 / 0
Сортировка dataset с помощью vb.net
    #39037696
Asmodian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо всем, решил средствами T-SQL
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сортировка dataset с помощью vb.net
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]