|
|
|
Вопрос по гриду.
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Зарапортовался похоже. Имею грид, в котором задан источник данных, из грида можно корректировать записи, ставятся фильтры и т.д. Кто нибудь знает как в грид вставить порядковый номер записи, с учетом фильтров и т.д. Т.е. чтоб независимо от сортировки , фильтров и т.д. "видимые" записи подсчитывались по порядку отображения в гриде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 09:23:59 |
|
||
|
Вопрос по гриду.
|
|||
|---|---|---|---|
|
#18+
А если добавить еще одно поле, и после каждой установки фильтра и пр. - просто нпсквозь порписывать его по порядку, с возвратом к текущей записи после этого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 12:31:50 |
|
||
|
Вопрос по гриду.
|
|||
|---|---|---|---|
|
#18+
Простого решения не существует. Если вместо таблицы с наложенным фильтром использовать обновляемое Local View, то можно отображать его Recno(). Но тут тоже не все так гладко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 12:39:22 |
|
||
|
Вопрос по гриду.
|
|||
|---|---|---|---|
|
#18+
А разве прописывание доп.поля по SCAN-у каким-нибудь i=i+1 после наложения фильтра не даст текущей нумерации строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 12:59:55 |
|
||
|
Вопрос по гриду.
|
|||
|---|---|---|---|
|
#18+
вообще не понял о чем вопрос но сказать хочеться так сказать информация к размышлению CREATE CURSOR ss (s n(6)) insert into ss values(1) insert into ss values(2) insert into ss values(3) SET FILTER TO s=1 CALCULATE MAX(s) TO a ?a SELECT MAX(s) FROM ss INTO CURSOR qq1 BROWSE normal так сказать по рабоче-крестьянски это если нужно найти максимальный номер при наличии фильтров и другой навигационной бурды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 13:04:25 |
|
||
|
Вопрос по гриду.
|
|||
|---|---|---|---|
|
#18+
а дошло о чем речь так опять таки вопрос организации вам надо таблицу переорганизовать первичный ключ в ней будет не простой а составной вот и всё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 13:09:34 |
|
||
|
Вопрос по гриду.
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы. leafа дошло о чем речь так опять таки вопрос организации вам надо таблицу переорганизовать первичный ключ в ней будет не простой а составной вот и всё Не совсем понял про составной ключ. У меня не локальная таблица а удаленное представление на таблицу MS SQL Server. leafА разве прописывание доп.поля по SCAN-у каким-нибудь i=i+1 после наложения фильтра не даст текущей нумерации строк? Я первоначально так и сделал. Однако с этим удаленным представлением могут работать сразу несколько пользователей. Т.е. добавлять удалять корректировать строки. И после каждой корректировки требуется пересчитывать все. leafПростого решения не существует. Если вместо таблицы с наложенным фильтром использовать обновляемое Local View, то можно отображать его Recno(). Но тут тоже не все так гладко. Я думаю ставить не фильтр, а в свое удаленное представление параметр. Кстати а можно каким то образом вставить в фильтр макроподстановку? Т.е. мне нужно список IN() сформировать динамически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 15:59:19 |
|
||
|
Вопрос по гриду.
|
|||
|---|---|---|---|
|
#18+
приятно конечно но плагиат похоже Вы людей не обижайте :) составной ключ (номер документа + номер в документе) тогда и уникальность есть и работать легко Но опять же может кому не понравиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2005, 16:27:38 |
|
||
|
Вопрос по гриду.
|
|||
|---|---|---|---|
|
#18+
Hi denis! > Не совсем понял про составной ключ Тебе это не поможет. Не в тему реплика. > Я первоначально так и сделал. Однако с этим удаленным представлением могут работать сразу несколько пользователей Дык это поле должно быть только в локальном курсоре! На сервере его быть не должно!!! И то что там кто-то работает, не имеет значения. Ты всё равно не увидишь никаких изменений до выполнения перезапроса - ну а выполняя перезапрос можно и заново просчитать порядковый номер... Аналогично и с сортировкой - оно е не само по себе сортируется - т.е. ты там тоже можешь вызывать код расстановки номеров. > И после каждой корректировки требуется пересчитывать все. Ну если надо так пересчитывай, что ж поделать то? Вообще обычно в "удалённых" курсорах отображается очень мало записей (до сотни) и это проходит быстро. > Я думаю ставить не фильтр, а в свое удаленное представление параметр Конечно! Не работают с удалёнными базами как с родными - "вынул весь миллион записей, а потом фильтрую". Именно на этапе отбора задают условия и вынимают только то что реально нужно сейчас (как раз те самые 10-100 записей!) > Кстати а можно каким то образом вставить в фильтр макроподстановку? Не понял... При чём тут фильтр? Если ты про условия для удалённого запроса - то при "прямом" запросе (SQLEXEC) можно сделать всё. При запросе через RV - нет. Там "тело" запроса статично - параметризуются ТОЛЬКО значния. Т.е. SELECT ... WHERE nID > ?m.lnParam1 AND nID < ?m.lnParam2. И даже простого условия nOtherField = ?m.lnParam3 "добавить" уже нельзя - не предусмотрел сразу при создании View - значит пролетел :( > Т.е. мне нужно список IN() сформировать динамически. Вместо этого можно другой способ использовать - в запросе провести INNER JOIN #MyTempTable1 ON ... и ПЕРЕД исполнением запроса через SQLEXEC() создать эту самую временную таблицу и наполнить её значениями (тогда никаких ограничений на число элементов в IN и на длинну строки запроса уже не будет). Конечно надо работать в рамках ОДНОЙ коннекции - т.е. она должна быть Shared, и должна устанавливаться "вручную" а не автоматом при открытии RV. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2005, 23:46:52 |
|
||
|
Вопрос по гриду.
|
|||
|---|---|---|---|
|
#18+
Igor Korolyov Дык это поле должно быть только в локальном курсоре! На сервере его быть не должно!!! И то что там кто-то работает, не имеет значения. Ты всё равно не увидишь никаких изменений до выполнения перезапроса - ну а выполняя перезапрос можно и заново просчитать порядковый номер... Аналогично и с сортировкой - оно е не само по себе сортируется - т.е. ты там тоже можешь вызывать код расстановки номеров. Ясно, то есть добавить в RV левую колонку, что то типа (000) as Nrec1, как то я не сообразил. Спасибо за совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2005, 06:35:27 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33132585&tid=1593987]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 448ms |

| 0 / 0 |
