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

Вниз

Копирование   Найти похожие ветки 

 
vib   (2002-07-31 22:10) [0]

Подскажите как скопировать значение поля в DBGrid которое находиться
выше текущего. Тоисть находясь в каком-то поле DBGrid я хочу скопировать
в него значение того-же поля но предыдущей записи (Ctrl D - в PARADOX).
В общем проблема сводится к чтению значения поля не устанавливая в эту
строку указателя. Заранее благодарен, Володя.
vib@softhome.net

Jeer © (28.07.02 16:43) Не создавай себе проблем.
DisableControls; Prior; читаем ; Next; присваиваем; Post; EnableControls;

Да но если я стою в пустой строке (копирую первое поле) то при уходе с этой строки она исчезнет (а копирование произойдет не туда куда надо), дальше если я заполнил индексное поле а потом таким образом копирую следующее произойдет сортировка (опять копируем не туда ), или если есть поля обязательные для заполнения?


 
Jeer ©   (2002-07-31 22:51) [1]

Ок. Будем последовательны и идем дальше.
1.Что значит пустая строка.
2.Куда она исчезнет.
Думаю эти проблемы связаны с недопониманием статуса TDataSet:
вставка, редактирование..Разумеется, находясь в этих режимах двигать курсор уже нельзя.
3.Если Вы заполнили индексное поле но не сделали Post никакой сортировки и не произойдет.
4.Если есть обязательные поля - заполняйте.

Лучше всего конечно переопределить OnNewRecord в наследнике от TTable
Что-то вроде
procedure TMy.DoOnNewRecord;
var
RecBuf: PChar;
begin
if FCopyOnAppend then
begin
UpdateCursorPos;
if GetActiveRecBuf(RecBuf) then
FHandle.CloneCurrentRecord(RecBuf);
end;
inherited DoOnNewRecord;
end;

Если такими вещами тяжело заниматься, то можно задействовать события OnBeforeScroll и копировать текущую запись в буфер, а на OnNewRecord заполнять из него.



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
14-71326
Сатир
2002-07-26 12:58
2002.08.22
File Systemы


14-71343
melifaro
2002-07-26 19:52
2002.08.22
Чего-чего там на землю летит?


1-71098
bk
2002-08-12 13:59
2002.08.22
POMOGITE s QReort


14-71375
Извращенец
2002-07-28 20:24
2002.08.22
PrintScreen


1-71188
Vint44
2002-08-09 16:28
2002.08.22
Адрес функции