On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение
постоянный участник




Пост 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()



Подскажите, пожалуйста, где у меня ошибка

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 3 [только новые]





Пост 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()


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 172
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 28.10.11 09:52. Заголовок: Большое спасибо! Тол..


Большое спасибо!
Только откуда вы берёте число удалённых записей nDelRec?

А вообще BROWSE удобнее, только там надо два щелчка для редактирования и проблема с выводом вычисляемых полей.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 56
Зарегистрирован: 12.07.06
ссылка на сообщение  Отправлено: 30.10.11 07:38. Заголовок: Dr. Oldwarez пишет: ..


Dr. Oldwarez пишет:

 цитата:
Только откуда вы берёте число удалённых записей nDelRec?


Я сам их считаю при удалении


 цитата:
А вообще BROWSE удобнее, только там надо два щелчка для редактирования и проблема с выводом вычисляемых полей.


Я предпочитаю использовать TSBROWSE, т.к. у него несравненно больше возможностей

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 206
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет