Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
1-71152
CrazyHackers
2002-08-13 15:11
2002.08.22
Перебрать TreeView


14-71348
bu-hast
2002-07-26 20:55
2002.08.22
пью двадцать первый день подряд


3-70958
alexela
2002-08-03 21:10
2002.08.22
база DBase


14-71301
sanilo
2002-07-25 12:37
2002.08.22
Картинка доллара:)


6-71283
Easy_tester
2002-06-09 21:38
2002.08.22
Как послать широковещательный запрос?




   Наверх