powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / номерация строк в grid
11 сообщений из 11, страница 1 из 1
номерация строк в grid
    #36766571
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужна нумерация строк в столбце где показывается стрелка на запись (самый первый узкий столбец в grid, где вверх вниз бегает стрелка). В fox pro есть такая возможность? Если есть то как ее реализовать? Помниться в дельфи было такое.
...
Рейтинг: 0 / 0
номерация строк в grid
    #36766754
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если курсор не индексирован и не фильтрован, то простое RECNO(). В противном случае только самописное изгогуливание с подсчетом строк от самого верха до текущей.
...
Рейтинг: 0 / 0
номерация строк в grid
    #36766755
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Ganjubas
> Нужна нумерация строк

Нету, сделай отдельным столбцом в классе грида и показывай что нужно :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
номерация строк в grid
    #36766772
Ganjubas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
reware,

про RECNO() знал. Просто в дельфи это делается в свойстве grida, кажется. Думал здесь также, но....
...
Рейтинг: 0 / 0
номерация строк в grid
    #36767142
Fffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ganjubas, тебе уже, кажется, отвечали, что в Foxpro первичны данные. Все, что хочешь отобразить в интерфейсе, надо сначала сделать на уровне данных.
Не сравнивай с Дельфи. Здесь другая идеология.
...
Рейтинг: 0 / 0
номерация строк в grid
    #36767271
FoxSoftware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GanjubasНужна нумерация строк в столбце где показывается стрелка на запись (самый первый узкий столбец в grid, где вверх вниз бегает стрелка). В fox pro есть такая возможность? Если есть то как ее реализовать? Помниться в дельфи было такое.
Элементарно!
В строке вывода полей Grid написать Поле=RECNO()
Если в таблице есть помеченные на удаление записи, тогда лучше сделать VIEW и в нём уже не будет помеченных на удаление. Т.е. порядковый номер будет соответствовать RECNO().
Делфи в топку.
Вообще не понятно зачем он нужен этот делфи?
Есть C++, и есть базы данных - например фокспро.
Чтобы написать не сложную программу на фоксе, достаточно нескольких дней, в крайнем случае месяц.
На делфи будешь писать месяцы.
...
Рейтинг: 0 / 0
номерация строк в grid
    #36767307
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxSoftware
Элементарно!
В строке вывода полей Grid написать Поле=RECNO()
Если в таблице есть помеченные на удаление записи, тогда лучше сделать VIEW и в нём уже не будет помеченных на удаление. Т.е. порядковый номер будет соответствовать RECNO().
Делфи в топку.
Вообще не понятно зачем он нужен этот делфи?
Есть C++, и есть базы данных - например фокспро.
Чтобы написать не сложную программу на фоксе, достаточно нескольких дней, в крайнем случае месяц.
На делфи будешь писать месяцы.
Можно и годы писать, не было бы только мучительно жалко о потраченном времени.
Это у нас что за "строка вывода полей Grid" ? Может колонка, а не строка ? И что означает волшебное "Поле=RECNO()" ? Может все-же REPLACE pole WITH RECNO() ? Только не ясно, как это позволяет определить визуально видимый порядок каждой записи. Пробегаться при каждом чихе сверху до низу таблицы и перенумеровывать записи, занося в отдельное поле этот фиктивный номер ? Бред. Для большой таблицы надо сразу отказаться от этой ерунды, на маленькой ещё прокатит
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
*******************
FUNCTION ThisRecno
*******************
LOCAL oldrec, i
IF EOF()
     RETURN  0 
ELSE
     oldrec=RECNO()
ENDIF
GO TOP
i= 1 
DO WHILE RECNO()<>oldrec .AND. !EOF()
     i=i+ 1 
     SKIP
ENDDO
IF EOF()
     RETURN  0 
ENDIF
RETURN i
Введите в гриде фиктивную числовую колонку с ControlSource="ThisRecno()".
Тупой пересчет записей от начала до текущей независимо от включенного фильтра или индекса. Один неприятный возможный момент - кто-то при многопользовательской работе взял да и удалил какую-то запись тогда, когда еще выполнялась ThisRecno(). Тут тогда надо в функцию вставлять (уж не знаю где) анализ на DELETED() в зависимости от установки SET DELETED в задаче. Если же таблица открыта монопольно или заблокирована - можно плюнуть на анализ удаленных на лету записей и спокойно выполнять ThisRecno(). Повторюсь - это детские кубики для микроскопических таблиц (до сотни-другой записей). Аналогичные "удобства" я делал в небольших табличных документах (бухгалтерских и пр.) для нумерации строк грида (юзерам так надо было). Но у меня там было не больше пары сотен записей. На большой таблице это полный глюк. Можно пойти в маразм ещё глыбже - первый раз открыли таблу, прогнали по ней ThisRecno() и "сняли её слепок", т.е. в глобальной переменной запомнили, скажем, контрольную сумму файла DBF (самый примитивный вариант), а в глобальном массиве - последовательность фиктивных ThisRecno каждой записи и их же реальных RECNO(). Поработали с ней и вышли. Зашли по-новой, проверили, а не изменилась ли эта контрольная сумма. Если нет, можно не запускать снова ThisRecno(), а использовать сохраненную в массиве их последовательность. Если да - увы - снова считать все сначала. Это имеет скорее смысл при однопользовательской работе с БД.
...
Рейтинг: 0 / 0
номерация строк в grid
    #36767348
GanjubasНужна нумерация строкИ эту нужность можете обосновать?
...
Рейтинг: 0 / 0
номерация строк в grid
    #36767501
reware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходящий.GanjubasНужна нумерация строкИ эту нужность можете обосновать?
А почему нет ? Требуется в гриде отображать порядковый условный номер строки (может быть их там стопитцот). А у источника грида на беду, скажем, индекс включен или фильтр наложен хитрый-прехитрый. Так это обычное дело при ковырянии с табличными док-тами.
...
Рейтинг: 0 / 0
номерация строк в grid
    #36767506
FoxSoftware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
reware,

я уже ответил на вопрос
достаточно использовать View и ставить RECNO()
Пересчитывать ничего не надо.
...
Рейтинг: 0 / 0
номерация строк в grid
    #36767740
rewareпроходящий.GanjubasНужна нумерация строкИ эту нужность можете обосновать?
А почему нет ? Требуется Для чего? Зачем? Какой такой смысл в этом номере?
(может быть их там стопитцот)И какой дурак будет столько смотреть? И еще больший дурак будет столько тянуть для показа?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / номерация строк в grid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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