Форум: "Начинающим";
Текущий архив: 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