Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.02;
Скачать: CL | DM;

Вниз

Порядковый номер в DBGrid   Найти похожие ветки 

 
Jacksotnik ©   (2010-10-05 14:06) [0]

Добрый день помогите пожалуйста с таким вопросом. Есть DBGrid в который выводится содержимое таблицы(данные по клиентам), необходимо добывить столбец для отображения порядкового номера для каждой записи. в БД такое поле не предусмотрено, оно должно нести чисто информативный хорактер, как допасать в дбгрид токое поле?


 
Правильный$Вася   (2010-10-05 14:19) [1]

поле добавляется в датасет, а не dbgrid
dbgrid только для отображения, в нем нет данных

читать про Calculated Fields


 
Sergey13 ©   (2010-10-05 14:54) [2]

> [0] Jacksotnik ©   (05.10.10 14:06)
> в БД такое поле не предусмотрено
Может не спроста это?

> оно должно нести чисто информативный хорактер
И о чем оно должно информатировать?

ЗЫ: наверное еще и пропуски НЕДОПУСТИМЫ!? 8-)


 
Dennis I. Komarov ©   (2010-10-05 15:09) [3]


> И о чем оно должно информатировать?

Сие дао не всем доступно. Для этого надо пройти долгий путь... ;)


 
И. Павел ©   (2010-10-05 15:42) [4]

> в БД такое поле не предусмотрено

Можно использовать MemTableEh из EhLib. Тогда и после сортировки, и после удаления нескольких строк номера записей сохранятся.
Хотя скорее всего просто задача поставлена неправильно. Да и проще создать автоинкрементное поле в таблице.


 
Dennis I. Komarov ©   (2010-10-05 15:45) [5]


> И. Павел ©   (05.10.10 15:42) [4]
>

Автоинкрементное поле не есть порядковый номер в ДБГрид. И нечего в базу лазить шаловливыми ручками...


 
И. Павел ©   (2010-10-05 16:14) [6]

> Автоинкрементное поле не есть порядковый номер в ДБГрид

В ДБГрид вообще нет порядка записей, как и самих записей. Можно отсортировать, и порядок измениться. Можно удалить запись - тоже изменится.


> И нечего в базу лазить шаловливыми ручками...

Если от DBGrid хочется странного, значит нужно подумать о смене структуры базы.


 
Dennis I. Komarov ©   (2010-10-05 16:46) [7]


> В ДБГрид вообще нет порядка записей, как и самих записей.
>  Можно отсортировать, и порядок измениться. Можно удалить
> запись - тоже изменится.

Ничего не знаю. См. [0]. Надо и все тут...

> Если от DBGrid хочется странного, значит нужно подумать
> о смене структуры базы.

Надо подумать о смене хотелки :) а в базу низя лезть рученками...


 
MsGuns ©   (2010-10-05 20:22) [8]

1) Выбрать в датасете любое поле, которое не нужно отображать (а если такого нет, то добавить искусственное)
2) Это поле положить в колонку сетки, где должен быть порядковый номер
3) В обработчике OnGetText  этого поля написать

 Text := IntToStr(DataSet.RecNo)

Это будет работать во всех случаях (в т.ч. просле сортировок, переоткрытий нд и т.д), если не будет использоватья фильтрация (Filter, Filtered). При фильтации номер порядковый можно определять средствами самой сетки, обращаясь к непосредственно источнику данных


 
Anatoly Podgoretsky ©   (2010-10-05 20:34) [9]

> MsGuns  (05.10.2010 20:22:08)  [8]

RecNo это не порядковый номер.


 
Игорь Шевченко ©   (2010-10-05 23:08) [10]


> RecNo это не порядковый номер.


Это -1


 
Anatoly Podgoretsky ©   (2010-10-05 23:15) [11]

> Игорь Шевченко  (05.10.2010 23:08:10)  [10]

Это RecordCount, тоже гадость.


 
Игорь Шевченко ©   (2010-10-06 00:15) [12]

Anatoly Podgoretsky ©   (05.10.10 23:15) [11]

RTFS: db.pas, TDataSet.GetRecNo


 
Германн ©   (2010-10-06 02:45) [13]

Удалено модератором


 
Jacksotnik ©   (2010-10-08 10:54) [14]


> MsGuns ©   (05.10.10 20:22) [8]
> 1) Выбрать в датасете любое поле, которое не нужно отображать
> (а если такого нет, то добавить искусственное)
> 2) Это поле положить в колонку сетки, где должен быть порядковый
> номер
> 3) В обработчике OnGetText  этого поля написать
>
>  Text := IntToStr(DataSet.RecNo)
>
> Это будет работать во всех случаях (в т.ч. просле сортировок,
>  переоткрытий нд и т.д), если не будет использоватья фильтрация
> (Filter, Filtered). При фильтации номер порядковый можно
> определять средствами самой сетки, обращаясь к непосредственно
> источнику данных
>
>


Спасибо тебе добрый человек все прекрасно работает)))



Страницы: 1 вся ветка

Текущий архив: 2011.01.02;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.009 c
2-1286161108
DROWSY
2010-10-04 06:58
2011.01.02
Можно ли присваивать значения полей неинициализированной формы?


15-1285101741
Дмитрий Тимохов 2
2010-09-22 00:42
2011.01.02
Права админа на windows server 2008 R2


2-1286333287
Pro-hacker
2010-10-06 06:48
2011.01.02
Пишу вирус


2-1286348534
Иван
2010-10-06 11:02
2011.01.02
запись в Record из memo


8-1208839462
doKi
2008-04-22 08:44
2011.01.02
шейдары