powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос по гриду.
10 сообщений из 10, страница 1 из 1
Вопрос по гриду.
    #33132585
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.
Зарапортовался похоже. Имею грид, в котором задан источник данных, из грида можно корректировать записи, ставятся фильтры и т.д.
Кто нибудь знает как в грид вставить порядковый номер записи, с учетом фильтров и т.д. Т.е. чтоб независимо от сортировки , фильтров и т.д. "видимые" записи подсчитывались по порядку отображения в гриде.
...
Рейтинг: 0 / 0
Вопрос по гриду.
    #33133119
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если добавить еще одно поле, и после каждой установки фильтра и пр. - просто нпсквозь порписывать его по порядку, с возвратом к текущей записи после этого?
...
Рейтинг: 0 / 0
Вопрос по гриду.
    #33133153
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простого решения не существует.

Если вместо таблицы с наложенным фильтром использовать обновляемое Local View, то можно отображать его Recno(). Но тут тоже не все так гладко.
...
Рейтинг: 0 / 0
Вопрос по гриду.
    #33133247
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А разве прописывание доп.поля по SCAN-у каким-нибудь i=i+1 после наложения фильтра не даст текущей нумерации строк?
...
Рейтинг: 0 / 0
Вопрос по гриду.
    #33133260
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще не понял о чем вопрос но сказать хочеться
так сказать информация к размышлению

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

так сказать по рабоче-крестьянски это если нужно найти максимальный номер при наличии фильтров и другой навигационной бурды
...
Рейтинг: 0 / 0
Вопрос по гриду.
    #33133277
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а дошло о чем речь
так опять таки вопрос организации вам надо таблицу переорганизовать
первичный ключ в ней будет не простой а составной вот и всё
...
Рейтинг: 0 / 0
Вопрос по гриду.
    #33133875
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответы.

leafа дошло о чем речь
так опять таки вопрос организации вам надо таблицу переорганизовать
первичный ключ в ней будет не простой а составной вот и всё

Не совсем понял про составной ключ. У меня не локальная таблица а удаленное представление на таблицу MS SQL Server.

leafА разве прописывание доп.поля по SCAN-у каким-нибудь i=i+1 после наложения фильтра не даст текущей нумерации строк?

Я первоначально так и сделал. Однако с этим удаленным представлением могут работать сразу несколько пользователей. Т.е. добавлять удалять корректировать строки. И после каждой корректировки требуется пересчитывать все.

leafПростого решения не существует.

Если вместо таблицы с наложенным фильтром использовать обновляемое Local View, то можно отображать его Recno(). Но тут тоже не все так гладко.

Я думаю ставить не фильтр, а в свое удаленное представление параметр. Кстати а можно каким то образом вставить в фильтр макроподстановку?
Т.е. мне нужно список IN() сформировать динамически.
...
Рейтинг: 0 / 0
Вопрос по гриду.
    #33133956
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приятно конечно но плагиат похоже
Вы людей не обижайте :)
составной ключ (номер документа + номер в документе) тогда и уникальность есть и работать легко
Но опять же может кому не понравиться
...
Рейтинг: 0 / 0
Вопрос по гриду.
    #33135041
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Вопрос по гриду.
    #33135465
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov
Дык это поле должно быть только в локальном курсоре! На сервере его быть не должно!!! И то что там кто-то работает, не имеет значения. Ты всё равно не увидишь никаких изменений до выполнения перезапроса - ну а выполняя перезапрос можно и заново просчитать порядковый номер... Аналогично и с сортировкой - оно е не само по себе сортируется - т.е. ты там тоже можешь вызывать код расстановки номеров.


Ясно, то есть добавить в RV левую колонку, что то типа (000) as Nrec1, как то я не сообразил. Спасибо за совет.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос по гриду.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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