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

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

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


Ну или переключиться на EF где у тебя будет коллекция объектов которую проще сортировать.
...
Рейтинг: 0 / 0
26.08.2015, 13:07
    #39036310
Asmodian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка dataset с помощью vb.net
v skopin, проблема в том что артикли сортируются не по алфавиту, а по такому же артиклю у следующего клиента, при этом клиенты должны идти строго по порядку
...
Рейтинг: 0 / 0
26.08.2015, 13:46
    #39036361
Asmodian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка dataset с помощью vb.net
bazile, спасибо, но все таки отсортировать получается только по алфавиту или наоборот. а конекретно сортировку чтоб одинаковые артикли, уразных клиентов, стояли рядом, не представляю как сделать...
...
Рейтинг: 0 / 0
26.08.2015, 15:21
    #39036461
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка dataset с помощью vb.net
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
26.08.2015, 16:18
    #39036553
Asmodian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка dataset с помощью vb.net
Cat2, проблема в том, что опыта у меня мало, и я уж как пару дней не могу себе представить алгоритм такой сортировки...
...
Рейтинг: 0 / 0
26.08.2015, 18:36
    #39036795
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка dataset с помощью vb.net
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
26.08.2015, 18:57
    #39036821
Asmodian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка dataset с помощью vb.net
petalvik, спасибо за ответ
вариант любой, гарантии нет
...
Рейтинг: 0 / 0
26.08.2015, 20:00
    #39036852
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка dataset с помощью vb.net
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
27.08.2015, 09:52
    #39037215
Asmodian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка dataset с помощью vb.net
Cat2, я переключился на класс с объектами, но алгоритм такой сортировки построить не получается....
...
Рейтинг: 0 / 0
27.08.2015, 17:15
    #39037696
Asmodian
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка dataset с помощью vb.net
спасибо всем, решил средствами T-SQL
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Сортировка dataset с помощью vb.net / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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