Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Номер записи [D6, Paradox]


Страницы:   1 2 3

13-ый ©   (2004-01-27 12:17:00) 

Есть таблица(Table Не Query-это принципиально) необходимо после фильтрации данных в этой таблице вычислить номер каждой записи.
Т.е. если было 6 записей ,а после фильтрации осталось 3,то и соответственно номера должны идти по-порядку (в первом случае от 1 к 6,а во втором от 1 к 3 не смотря  ни на что)


Некто   (2004-01-28 12:26:00) [41]

2 Anatoly Podgoretsky
 Существует единственный критерий нужности: если человек задал вопрос - значит, ему это нужно.


Некто   (2004-01-28 12:22:00) [42]

OnDrawColumnCell


div   (2004-01-28 12:15:00) [43]

мда уж... чушь написал и сам не понял... если кто скажет как это можно сделать поставлю пиво :)))

2 jack128 ©   (28.01.04 10:48) [10] - это тож не то что он хочет...


Volodya_   (2004-01-28 12:13:00) [44]

2 Некто   (28.01.04 11:26) [11]
На какой точно обработчик вешать?


Anatoly Podgoretsky   (2004-01-28 12:13:00) [45]

О нужности/ненужности можно много говорить, но данный номер за собой ничего не несет.


Некто   (2004-01-28 12:03:00) [46]

2 Anatoly Podgoretsky
 "Если звезды зажигаются, значит, это кому-то нужно..." (С)


Anatoly Podgoretsky   (2004-01-28 11:59:00) [47]

Забыть об этом, как о не нужной вещи и из за отсутствия реализации этого в базе данных.


Некто   (2004-01-28 11:26:00) [48]

В обработчике прорисовки Грида выводить номер текущей записи.


jack128   (2004-01-28 10:48:00) [49]

и что  получилось?
ЗЫ
procedure TForm1.Table1CalcFields(DataSet: TDataSet);
begin
 Dataset.FieldByName('RowNo').AsInteger := DataSet.RecNo;
end;


div   (2004-01-28 10:42:00) [50]

2 Плохиш_
пробовал...


Плохиш_   (2004-01-28 10:35:00) [51]

>div ©   (28.01.04 10:19) [7]

Сам-то пробовал?


div   (2004-01-28 10:19:00) [52]

Напиши обработчик события OnCalcFields примерно так (предполагая, что твое калькулироемре поле называется 'RowNo'):

procedure TForm1.Table1CalcFields(DataSet: TDataSet);
{$J+} // - в D7 разрешает изменять типизированные константы
const
 RowNo: integer = 0;
begin
 if DataSet.RecNo = 1 then
   RowNo := 0;
 RowNo := RowNo + 1;
 DataSet.FieldBayName('RowNo').AsInteger := RowNo;
end;


VAleksey   (2004-01-27 12:47:00) [53]


> 13-ый   (27.01.04 12:32) [4]

Так ты объяснишь ЗАЧЕМ это нужно иным образом, кроме "необходимо"?

> Это необходимо для отображения номера учащегося в таблице
> студентов.

Это - не номер учащегося.


Sandman25   (2004-01-27 12:37:00) [54]

Для Query можно добавить поле:

select cast(0 as integer) nomer, T.*
 from table T

А затем каждый раз после фильтрации пробегаться по DataSet и присваивать новое значение nomer-у. Только надо будет использовать CashedUpdates = true.


13-ый   (2004-01-27 12:32:00) [55]

Да нет это необходимо.Должо быть поле в котором отображение должно быть номера каждой записию


Sandman25   (2004-01-27 12:28:00) [56]

Я так и думал. Но при фильтрации номера остаются прежними...
И все-таки, зачем это нужно? Зачем номер студента отображать? Общее количество недостаточно?


13-ый   (2004-01-27 12:26:00) [57]

Это необходимо для отображения номера учащегося в таблице студентов.
Делаю это при помощи вычисляемового поля в котором Value:=Table1.RecNo;


Sandman25   (2004-01-27 12:23:00) [58]

Зачем это нужно?
Добиться этого довольно сложно, особенно с учетом фильтрации.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо