Форум » GUI » TsBrowse в Минигуи (продолжение) » Ответить

TsBrowse в Минигуи (продолжение)

Vlad04: TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений К примеру [quote] DEFINE TBROWSE oBrw2 ; AT 60,450 ; ALIAS cAlias ; OF Form1 ; WIDTH 330 ; HEIGHT 340 ; FONT "Verdana" ; SIZE 9 ; ON DBLCLICK CopyRec(); ON GOTFOCUS fModelo_Hab(2) ; AUTOFILTER ; CELLED EDIT; VALUE nRec; GRID [/quote] Здесь я собрал параметры из разных tBrows Можно или нет и какие парметры заменить выражением ( и каким) ? oBrw2:.... oBrw2:....

Ответов - 300, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All

Dima: Есть редактируемый бровс по базе. В другой проге я заблочил какую то запись в той же базе. В бровсе нашел эту же запись и пытаюсь ее редактировать , бровс легко это дает но после окончания редактирования вежливо сообщает что запись заблочена :) Можно как то изменить поведение бровса (переключатель может есть какой) что бы в редактирование не пускало если запись уже заблочена ?

Haz: Dima пишет: Можно как то изменить поведение бровса (переключатель может есть какой) что бы в редактирование не пускало если запись уже заблочена ? oBrw:bPrevEdit := { |a, b, lLock| If( lLock := RLock(), dbUnLock(), MsgBox("Запись залочена") ), lLock }

Dima: Haz Спасибо. Ты вроде ж в отпуске )) Режим отметки при obrw:lCanSelect:=TRUE повешен на пробел , можно ли изменить эту педаль на свою ?


Haz: Dima пишет: Режим отметки при obrw:lCanSelect:=TRUE повешен на пробел , можно ли изменить эту педаль на свою ? На что угодно, определив обработку в bUserKeys этой кнопки как ::Selection() ::GoDown() и вернув FALSE Да , и учти что отметка реализована через массив с номерами записей ( вроде так , давно не смотрел ) так что реализовать альтернативу со своей цветовой схемой - пустяк

Dima: Haz пишет: На что угодно, определив обработку в bUserKeys этой кнопки как Это я понял уже , вопрос звучал иначе , есть ли какой то флаг позволяющий заюзать другую педаль. Похоже его нет , да и ладно , сделаю своё ,через bUserKeys как и ты и советовал.

Dima: Что бы освежить только текущую строку достаточно o:RefreshARow(o:nRowPos) или нужен o:Refresh() ? PS Хожу по базе.

Haz: Dima пишет: освежить только текущую строку ::Refresh(FASLE) или ::DrawSelect()

Dima: Haz пишет: ::Refresh(FASLE) Понял , только при этом "дрыгается" весь бровс на выпуклый морской глаз , впрочем как и при RefreshARow )) А вот DrawSelect() самое то (все красиво и без лишних прорисовок) !

Dima: Есть какой то метод что бы дернуть данные с ячейки , типа obrw:GETCELLDATA(nrow , ncol) ? PS Хожу по базе. Для массива понятно все.

SergKis: Dima Для тек.записи Eval(oBrw:aColumns[nCol]:bData) для др. записи dbGoto(nRec) или dbSkip(nCount) и снова Eval(oBrw:aColumns[nCol]:bData)

Dima: SergKis Я не много не о том. Хотел для базы заюзать oBrw:cToolTip{|oBr, nCol, nRow| if( ncol ==2,..... Строка и колонка известна. Указатель записи дергать не хотелось бы , но при наведении мышки на нужную ячейку в колонке 2 , хотелось дернуть данные от туда и показать в cToolTip. Изначально я так и поступил как ты пишешь но тогда показывает на любой ячейке 2-го столбца - данные записи на которой лежит курсор (что и понятно).

SergKis: Dima пишет: хотелось дернуть данные от туда и показать в cToolTip Без перемещения на нужную запись этого сделать не получиться, надо использовать значение nCol для получения bData, а nRow для вычисления nCount перемещения от тек. записи ( dbSkip(nCount) ), считывание данных с колонки и возврат на запись, где были ранее

Dima: SergKis Понял , думал можно проще , без дергания указателя записи. Спасибо.

Dima: Поймал косяк в Tsbrowse Есть 2 открытых справочника в разных Child окнах. В одном из них я начал редактировать запись и не закончив редактирование переключаюсь на другой справочник мышкой и получаю вылет [pre2] Error BASE/1004 Метод не экспортирован: SHOW Called from SHOW(0) Called from TSBROWSE:EDIT(4003) Called from TSBROWSE:KEYDOWN(6584) Called from TSBROWSE:HANDLEEVENT(7348) Called from EVENTS(0) Called from DOEVENTS(0) Called from TCONTROL:HANDLEEVENT(875) Called from TSBROWSE:HANDLEEVENT(7385) Called from EVENTS(0) Called from UPDATEWINDOW(0) Called from EVENTS(0) Called from DOMESSAGELOOP(0) Called from _ACTIVATEWINDOW(0) [/pre2]

Dima: Тот же глюк в C:\MiniGUI\SAMPLES\Advanced\TsBrowse\ если запустить DEMO.EXE и заюзать 4 и 5 пример одновременно Первоначально ломается бровс

SergKis: Dima пишет:Тот же глюк в C:\MiniGUI\SAMPLES\Advanced\TsBrowse\ если запустить DEMO.EXE и заюзать 4 и 5 пример одновременно Как это тебе удалось ? Вкл. edit в одном, переключаю фокус на др. тот edit выключился новый включается и так все время, не зависимо с какого примера 4\5 начинать

SergKis: SergKis пишет:Как это тебе удалось ? Получил на колонке Age, но там диалоговое окно MODAL. Почему оно дает переход на др. окно приложения ?

Dima: SergKis Смотрим пример проще C:\MiniGUI\SAMPLES\Advanced\Tsb_SetArrayTo\ Запускаем два окна вот так как на скрине Входим в режим редактирования колонки order display в записи где цифра 1 и не выходя из него мышкой щелкаем на втором окне такой же колонки , при чем если нажать на первой записи то вылет с ошибкой если на другой записи то бровс с которого ушли просто портится , вот скрин

Dima: Косяк 2 Есть два активных бровса в разных окнах Когда бровс в фокусе курсор выглядит как и положено Переключаюсь мышкой на другой бровс и после возврашаюсь назад щелкая на той же записи , в этом случае фон курсора остался фоном не активного курсора Если во время перехода щелкать на другой записи , не там где стоял курсор то все нормально. Я пробовал уже "фокус" c oBrw:bGotFocus:={|| obrw:Refresh()} , не помогло

SergKis: Dima пишет:Смотрим пример проще C:\MiniGUI\SAMPLES\Advanced\Tsb_SetArrayTo\ запустил 6 разных примеров к ним 3 exe Tsb_setArrayTo - переключаюсь\вкл. едит по разному и по всем - ничего описанного тобой нет Win 8.1, hmg последняя Я пробовал уже "фокус" c oBrw:bGotFocus:={|| obrw:Refresh()} , не помогло попробуй oBrw:DrawSelect() переменная oBrw - public или привате для обоих окон ?



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