|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
Имеем таблицу tab1 f1f2f3163256321444 Имеем таблицу tab2 f1f21"Вася"2"Жора"3"Яна"4"Маша"5"Катя"6"Леша" Имею грид (на основании таблицы tab1 которая в enveronment) в котором 3 поля: tab1.f1 tab1.f2 = tab2.f1 tab1.f3 Хочу в этом гриде сделать сортировку по ИМЕНАМ, т.е. не так: поле1поле2 поле31 Леша 32 Катя 63 Жора 14 Маша 4 а вот так: поле1поле2 поле33 Жора 12 Катя 61 Леша 34 Маша 4 Как такое вымучить? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 15:57 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
Выводите в гриде результат запроса, а не таблицу с relation С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 16:41 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
нет, не хочу курсор ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 16:58 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
> нет, не хочу курсор О, Великий Нехочуха. Записи в подчиненной таблице выводятся в порядке, определенным порядком следования записей в родительской таблице. Как добъешься обратного - сообщи. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 17:38 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
вот собственно поэтому и спрсил, мало ли мож кто умный знает :) но курсор мне не нужен ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 17:48 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
Так поменяй местами главную и подчиненную таблицу! Т.е. сделай Relation не от tab1 к tab2, а наоборот, от tab2 к tab1. Соответственно, укажи у Grid в качестве RecordSource = "tab2" ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 21:12 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
2 Imperous огласите еще один раз причины, по которым Вы не можете создавать временные отборы в родные курсоры? Ваша задача решается простым отбором с объединением (добавлением избыточной колонки) и сортировкой именно по избыточной колонке. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 21:31 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
ВладимирМТак поменяй местами главную и подчиненную таблицу! Т.е. сделай Relation не от tab1 к tab2, а наоборот, от tab2 к tab1. Соответственно, укажи у Grid в качестве RecordSource = "tab2" нет, такой вариант не подойдет - tab1 - в любом случае главная, и в ней насамом деле много полей и я хочу чтоб по всем этим полям можно было так сортировать ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2009, 21:34 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
Ну ну. Сиди и хоти. PS а ведь можно было бы селать одним запросом и временными индексами по каждому полю, по которому надо сортировать. Или по каждой сортировке делать свою выборку. Это зависит от объема выборки и интенсивности пересортировок. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2009, 08:25 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
Galyamov Rinat Ну ну. Сиди и хоти. PS а ведь можно было бы селать одним запросом и временными индексами по каждому полю, по которому надо сортировать. Или по каждой сортировке делать свою выборку. Это зависит от объема выборки и интенсивности пересортировок. можно пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2009, 11:13 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
Imperousможно пример? Ну например так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Код: plaintext 1. 2. 3.
Конечно, надо бы еще и картинку менять в Header, показывающий, что именно по этой колонке сортируются данные, предусмотреть смену порядка сортировка (SET ORDER TO ... или SET ORDER TO ... DESCENDING) при повторном нажатии на колоку с уже отсортированными данными и т.п. Вариантов массу. Проще всего создать свой класс Header (а также Column и Grid :) ) и всю функциональность по работе с сортировками перенести в него. Тогда сможете использовать данную функциональность многократно. С уважением, Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2009, 11:42 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
2Aleksey-K авторВаша задача решается простым отбором с объединением (добавлением избыточной колонки) и сортировкой именно по избыточной колонке. автор работает с непредподготовленными отборами и не желает их создавать, однако считает, что придумать и решить ставящиеся перед собой хотелки не изменя подхода к работе с данными - это более правильное решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2009, 11:49 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
Вот этот кусок я бы сделал не так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Во первых создать курсор и потом его заполнять - это больше кода, чем просто Код: plaintext 1.
Во вторых индексировать надо уже заполненный курсор - это отработает быстрее, чем заполнять индексированный курсор/таблицу, т.к. при вставке каждой записи будет пересчитываться и записываться индекс на новую строку. Тогда как индексация заполненного файла позволяет писать индексный файл большими пакетами. и вот это Код: plaintext 1.
я так понимаю, должно выглядеть вот так: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2009, 05:08 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
Galyamov RinatВот этот кусок я бы сделал не так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Во первых создать курсор и потом его заполнять - это больше кода, чем просто Код: plaintext 1.
. Угу.. и потерять при этом текущую сортировку (возможно композитную), установленную пользователем. А имеено из-за ней весь топик.. С уважением, Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2009, 07:43 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
Не совсем понял, про какую сортировку идет речь, но при вот таком подходе мы ее не потеряем? INSERT INTO outdata ; SELECT t1.f1, t2.f2, t1.f3 ; FROM tab1 t1 inner join tab2 t2 on t1.f2 = t2.f1 Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2009, 10:19 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
Galyamov Rinat Не совсем понял, про какую сортировку идет речь, но при вот таком подходе мы ее не потеряем? INSERT INTO outdata ; SELECT t1.f1, t2.f2, t1.f3 ; FROM tab1 t1 inner join tab2 t2 on t1.f2 = t2.f1 Конечно нет! Активный тэг индекса при ZAP и при INSERT .. SELECT не меняется, а при SELECT .. INTO курсор создается заново со всеми вытекающими последствиями. С уважением, Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2009, 10:37 |
|
Сортировка в гриде при имеющихся комбах
|
|||
---|---|---|---|
#18+
> Не совсем понял, про какую сортировку идет речь, но при вот > таком подходе мы > ее не потеряем? > > INSERT INTO outdata ; > SELECT t1.f1, t2.f2, t1.f3 ; > FROM tab1 t1 inner join tab2 t2 on t1.f2 = t2.f1 > > > > > Конечно нет! Активный тэг индекса при ZAP и при INSERT .. SELECT не > меняется, а при SELECT .. INTO курсор создается заново со всеми > вытекающими последствиями. Чего-то совсем ничего не понимаю. Активный индекс на outdata ? Так мы его еще не установили. мы только подготавливаем данные к отображению. А вот на активный индекс на источнике нам глубоко фиолетово, т.к. порядок сортировки будет установлен set order или сразу в select ... order by . Ы? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2009, 12:28 |
|
|
start [/forum/topic.php?fid=41&fpage=134&tid=1586732]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 354ms |
total: | 487ms |
0 / 0 |