Форум » GUI » Снова TSBrowse » Ответить

Снова TSBrowse

krutoff: Режим ввода новой записи не работает! При вводе новой записи - Стрелка "Вниз" на последней записи происходит ввод только одной записи - а дальше (если есть индекс - выходит из режима ввода новой записи и позиционирует запись по индексу) - или, сколько не нажимай стрелку "Вниз" - ничего не происходит. Попробуйте на примере Sample2 отключить индекс или ввести в первое поле какой-нибудь код последний по индексу (например: mmmm) и дальше стрелка вниз уже не идет. Я проверил, что в этом случае работает блок (строка ~ 5120) h_tbrowse: If ! ::lHitBottom .and. ! ::lAppendMode .and. ::bChange != nil Eval( ::bChange, Self, ::oWnd:nLastKey ) EndIf Григорий, можете дать Янушу эту информацию?

Ответов - 25, стр: 1 2 All

gfilatov2002: alex_II пишет: ввод с клавиатуры благополучно попадал в ячейку TBROWSE Благодарю за отклик! Это будет исправлено в следующей сборке

Haz: DbAppend в Tbrowse Может кому пригодиться ) Долго (ну очень) боролся с корректным отображением в бровсе после DbAppend() - оставался мусор на экране в виде старых значений , который при движении курсора перерисовывался на правильные значения. Использовал следующий алгоритм: (есть индекс по Recno() - "RECNO" ) Примерный код по кнопке: 1) Dbappend() 2) nRec := RecNo() 3) nOrder := OrdSetFocus("RECNO") 4) oBrw:ExpSeek( NTOC(nRec), .F. ) 5) OrdSetFocus(nOrder) и были дальше безуспешные пляски со всякими Upstable, Reset и прочее .... пока не впихнул между строками 3 и 4 oBrw:SetFocus() и все заработало как надо. Чтоб больше не не мучиться добавил в исходник метода ExpSeek и ExpLocate строку ::SetFocus() в начале кода после ::lValidating := .T. и пересобрал библиотечку. Теперь добавление новой записи по кнопку в Tbrowse рисуется корректно PS. Месяца 4 бился , а так просто оказалось )

Haz: Устал биться с :SetBtnGet в TsBrowse при редактировании колонки 4 кнопку рисует, но нажатие на нее не отрабатывает ткните пальцем, что не так в примере ? #include "minigui.ch" #include "tsbrowse.ch" EXTERN TBBTNEVENTS FUNC Connection() LOCAL aArr := {} AADD( aArr, {"Ena ", "Art01", "Mod01", "200"} ) AADD( aArr, {"Tria ", "Art03", "Mod01", "200"} ) AADD( aArr, {"Tessera ", "Art04", "Mod01", "200"} ) DEFINE WINDOW Form_1 ; AT 0,0 ; WIDTH 600 ; HEIGHT 200 ; TITLE "" ; MAIN ; NOSIZE DEFINE TBROWSE Grid ; AT 35, 0 ; OF Form_1 ; WIDTH (Form_1.Width - 10) ; HEIGHT (Form_1.Height - 70); FONT "Verdana" ; SIZE 9; CELL; EDIT END TBROWSE Grid:SetArray( aArr, .T. ) Grid:nHeightHead := 35 Grid:nHeightCell := 22 Grid:aColumns[1]:nWidth := 120 Grid:aColumns[1]:cHeading := "Col1" Grid:aColumns[2]:nWidth := 70 Grid:aColumns[2]:cHeading := "Col2" Grid:aColumns[3]:nWidth := 170 Grid:aColumns[3]:cHeading := "Col3 " Grid:aColumns[4]:nWidth := 170 Grid:aColumns[4]:cHeading := "Col4" Grid:SetBtnGet( 4, "", { |oEdit, xVar| MsgBox('AAAAAA') }, 26 ) END WINDOW CENTER WINDOW Form_1 ACTIVATE WINDOW Form_1 RETURN NIL


gfilatov2002: Haz пишет: при редактировании колонки 4 кнопку рисует, но нажатие на нее не отрабатывает Да, подтверждаю эту ошибку Решил так: заменил в методе Command класса TBtnBox строку case nNotifyCode == 0 .And. nID == 0 на case nNotifyCode == 512 .And. nID == 0 Прошу подтвердить правильность этого исправления на своем компьютере

Haz: Григорий , спасибо за оперативность ! gfilatov2002 пишет: Прошу подтвердить правильность этого исправления на своем компьютере ПОДТВЕРЖДАЮ - отрабатывает вызов блока



полная версия страницы