Автор | Сообщение |
|
| постоянный участник
|
Пост N: 171
Зарегистрирован: 27.07.08
|
|
Отправлено: 27.10.11 15:21. Заголовок: И снова фокусы TSBROWSE
Очень распространённая задача - редактирование выведенной в TSBROWSE строки Окно редактирования вызывается ON DBLCLICK или специально назначенной клавишей. Но суть не в этом, а в том, чтобы потом TSBROWSE правильно обновлялся. Что нужно ещё делать, кроме Brw:Reset() У меня так: цитата: | nPos:=Table->(ORDKEYNO()) Brw:nLen:=Table->(ORDKEYCOUNT()) Brw:Reset() Brw:GoPos(nPos,1) wnd.Brw.Value:=nPos brw:Refresh(.F.) brw:SetFocus() |
| Подскажите, пожалуйста, где у меня ошибка
|
|
|
Новых ответов нет
[см. все]
|
|
|
| |
Пост N: 55
Зарегистрирован: 12.07.06
|
|
Отправлено: 28.10.11 05:14. Заголовок: Если на базу наложен..
Если на базу наложен индекс, то это становиться настоящей проблемой. Я сам слежу за положением курсора nRp := Br_oplTo:nRowPos nOldLp := Br_oplTo:nLogicPos() DBAppend() REPLACE... ... Br_oplTo:SetFocus() nLp := Br_oplTo:nLogicPos() * nDelRec кол-во удалённых записей * nVs кол-во строк в окне IF AbS(nLp-nOldLp) > nVs // новая запись отстоит от текущей больше чем строк на экране Br_oplTo:Reset() Br_oplTo:GoPos(nLp-4-nDelRec,1) Br_oplTo:GoPos(nLp-nDelRec,1) ELSE // новая запись в пределах экрана IF nLp-nDelRec <= nVs // курсор находиться на первом экране Br_oplTo:Reset() ENDIF Br_oplTo:GoPos(nLp,1) nDelRec := 0 ENDIF Br_oplTo:PanHome() Br_oplTo:GoRight() IF nLp >= Br_oplTo:nLen // запись добавляеться в конец Br_oplTo:Reset() Br_oplTo:GoBottom() ENDIF Br_oplTo:Refresh()
|
|
|
|
| постоянный участник
|
Пост N: 172
Зарегистрирован: 27.07.08
|
|
Отправлено: 28.10.11 09:52. Заголовок: Большое спасибо! Тол..
Большое спасибо! Только откуда вы берёте число удалённых записей nDelRec? А вообще BROWSE удобнее, только там надо два щелчка для редактирования и проблема с выводом вычисляемых полей.
|
|
|
|
| |
Пост N: 56
Зарегистрирован: 12.07.06
|
|
Отправлено: 30.10.11 07:38. Заголовок: Dr. Oldwarez пишет: ..
Dr. Oldwarez пишет: цитата: | Только откуда вы берёте число удалённых записей nDelRec? |
| Я сам их считаю при удалении цитата: | А вообще BROWSE удобнее, только там надо два щелчка для редактирования и проблема с выводом вычисляемых полей. |
| Я предпочитаю использовать TSBROWSE, т.к. у него несравненно больше возможностей
|
|
|
|