Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.01.02;
Скачать: [xml.tar.bz2];

Вниз

Порядковый номер в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.003 c
2-1286378357
faiwer
2010-10-06 19:19
2011.01.02
PageControl и onShow


15-1284046698
@!!ex
2010-09-09 19:38
2011.01.02
Фриланс заказ:3 функции для работы с географическими координатами


15-1285044372
12
2010-09-21 08:46
2011.01.02
столбец(+) в oracle, что-то не могу найти, google мимо все ходит


2-1286343206
картман
2010-10-06 09:33
2011.01.02
dataset->file


15-1285014564
Юрий
2010-09-21 00:29
2011.01.02
С днем рождения ! 21 сентября 2010 вторник





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский