Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/32: Рейтинг темы: голосов - 32, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 11.08.2009
Сообщений: 19

Нумерация в DBGrid

18.08.2009, 07:53. Показов 6969. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скажите пожалуйста, как сделать нормальную нумераю в DBGride ?
У меня столбец №, типа счетчик в аксесе, когда добавляю строку нумерация нормальная, а когда удаляю нумерация не обновлятся, т.е. удаляем строку номер 2, то получается в таблице 1, 3 , 4.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.08.2009, 07:53
Ответы с готовыми решениями:

Нумерация в dbgrid
Привет форумчане) Ребятки,не пойму как сделать нумерацию строк в dbgrid. procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; ...

Нумерация строк в dbgrid
Привет форумчане) Ребятки,не пойму как сделать нумерацию строк в dbgrid. procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; ...

Нумерация в DBGrid
как сделать нумерацию подряд столбец "номер".

15
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
18.08.2009, 08:52
Aka, если юзать стандартный счетчик, то он себя так и будет вести, даже когда удалить все данные из таблицы и начать заполнять заново... вообще счетчик используется для идентификации записи и показывать его пользаку не надо... да и вообще занятие вы начали неблагодарное, потому что когда у вас на большом кол-ве записей таблицу при удалении будет постоянно передергивать, чтобы настроить счетчик корректно, то это скорости вашей программе не добавит...
0
50 / 49 / 16
Регистрация: 12.03.2009
Сообщений: 133
18.08.2009, 08:55
Поле в акцессе типа счетчик нужен, во-сновном как первичный ключ, поэтому эти значения должны быть уникальны. И акцесс не заботиться о том, чтобы они были последовательны. При добавлении нового значения, он увеличивает текущее свое значение на 1 и ему не важно что вы удали одну из строк (такой у него алгоритм) и эти значения если это первичный ключ не возможно никак исправить.

пысы. опоздал)
0
0 / 0 / 0
Регистрация: 11.08.2009
Сообщений: 19
18.08.2009, 09:05  [ТС]
просто этот столбец для меня немаловажен, в той таблице он необходим! вот и нада сделать.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
18.08.2009, 09:13
Aka, ну расскажи нам о его назначении, может что получше придумаем
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
18.08.2009, 09:20
так вроде я нигде не видел что бы идентификатор выводил попорядку, так как в связанных таблицах ему тогда тоже надо будет все данные менять вот по этому скорее всего так и получается
0
0 / 0 / 0
Регистрация: 11.08.2009
Сообщений: 19
18.08.2009, 09:27  [ТС]
моя прога про картриджи, есть картриджи одинаковых моделей, чтобы различать и знать сколько всего их, вот поэтому нужен этот столбец и ориентироватся легче по номерам
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
18.08.2009, 09:32
ну количество то не проблема, а вот для различия можно скорее всего что то другое придумать
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
18.08.2009, 09:36
ну вообще счетчика вам хватит, но вот выводить его простым смертным не нужно, это информация служебная... а посчитать их легко с помощью sql-запроса и функции count... но при этом я просто уверен, что пользователю будет абсолютно фиолетово, под какими номерами они...
0
0 / 0 / 0
Регистрация: 11.08.2009
Сообщений: 19
18.08.2009, 09:39  [ТС]
Цитата Сообщение от VoodooMan Посмотреть сообщение
ну вообще счетчика вам хватит, но вот выводить его простым смертным не нужно, это информация служебная... а посчитать их легко с помощью sql-запроса и функции count... но при этом я просто уверен, что пользователю будет абсолютно фиолетово, под какими номерами они...
"фиолетово" ?? т.е. неважно под какими номерами ???
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
18.08.2009, 09:58
Aka, вы бы видели rowid в оракле, информативность для пользователя нулевая, зато это то важное поле, по которому однозначно идентифицируется запись в таблице, тоже самое и ваш счетчик - он нужен вам, чтобы найти запись, пользователю даже знать об этом не надо...
0
50 / 49 / 16
Регистрация: 12.03.2009
Сообщений: 133
18.08.2009, 13:58
Могу предложить такой вариант, но если в таблице будет очень много значений, то он будет очень медленный.

В исходной таблице создать дополнительное поле типа integer, и при загрузке таблицы заносить в это поле последовательные значения, тогда даже если вы удалите какую либо строку, то при перезагрузки значения снова будут последовательны.

Но если бы вы полностью описали всю картину что требуется, возможно предложил бы иной метод. Например создания 2-х связанных таблиц. Но повторюсь для этого нада знать полностью вашу задачу.
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
18.08.2009, 15:08
Для этого нужно вручную добавлять поле и заполнять его (1, 2, 3 ...)
0
0 / 0 / 0
Регистрация: 11.08.2009
Сообщений: 19
19.08.2009, 08:11  [ТС]
вручную ваще не вариант

Добавлено через 20 минут 29 секунд
Цитата Сообщение от _zz_ Посмотреть сообщение
Могу предложить такой вариант, но если в таблице будет очень много значений, то он будет очень медленный.

В исходной таблице создать дополнительное поле типа integer, и при загрузке таблицы заносить в это поле последовательные значения, тогда даже если вы удалите какую либо строку, то при перезагрузки значения снова будут последовательны.

Но если бы вы полностью описали всю картину что требуется, возможно предложил бы иной метод. Например создания 2-х связанных таблиц. Но повторюсь для этого нада знать полностью вашу задачу.
вот мой номер аси 475 955 716, добавь обьясню
0
 Аватар для koma_grusha
28 / 29 / 0
Регистрация: 17.04.2009
Сообщений: 73
20.08.2009, 16:12
можно заполнять это поле программно или через триггер (не знаю есть ли в аксесе что-то подобное), пусть поле id (но он должен быть не счетчиком, а просто числовым)
1) можно присваивать max(id) + 1, но это вариант удаления кончных записей, то есть если удалить середку, то нумерация не восстановиться
2) проитись от начального номера до max(id), и на отсутствующем остановиться, но это повлияет на скорость работы программы

собственно выбор невелик...
0
50 / 49 / 16
Регистрация: 12.03.2009
Сообщений: 133
24.08.2009, 11:16
Цитата Сообщение от Aka Посмотреть сообщение
вот мой номер аси 475 955 716, добавь обьясню
на работе асю блокирует прокся.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.08.2009, 11:16
Помогаю со студенческими работами здесь

Запросы: для выбранного в DBGrid сотрудника отобразить информацию в другом DBGrid
Добрый вечер! Вот какой вопрос необходимо для выбранного сотрудника в DBGrid отобразить информацию в другом DBGrid допустим об образовании....

[C++ builder XE] DBGrid. Удаление/добавление/изменение БД mysql через DBGrid
Здравствуйте! Возможно тема заезженная, но не чего путнего не нашел(может так искал!) Нужна помощь в добавлении и изменении...

Как вывести в DBGrid информацию только по выбранной строке в другой таблице DBGrid?
У меня есть 3 таблицы - Компании, Адреса и Квартиры. Компании содержит поля - Код компании и название Адреса содержит поля - Код...

Как можно посчитать разницу столбцов DBGrid и вывести в другой столбец другого DBGrid?
Я знаю как посчитать разницу в одном и том же DBGrid. Но, дело в том, что мне нужно вывести это в другой DBGrid. Я сделала вот так,...

Фиксирование нужных столбцов DBGrid или скрыть относительно позиции гор. скролла DBGrid'a необходимые столбцы
Добрый день! Можно ли в компоненте DBGrid сделать фиксированными определенные столбцы? или же как то вычислять позицию горизонтального...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru