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


Пост N: 420
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 19.12.13 18:16. Заголовок: TsBrowse в Минигуи


TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений
К примеру

 цитата:

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


Здесь я собрал параметры из разных tBrows
Можно или нет и какие парметры заменить
выражением ( и каким) ?
oBrw2:....
oBrw2:....



Спасибо: 0 
Профиль
Ответов - 301 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All [только новые]


Haz
администратор




Пост N: 308
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 23.08.14 08:01. Заголовок: Проще повесить на ON..


Проще повесить на ON CHANGE {|| nRetCode := FIELDGET(FIELDNUM("KCITY")) }. Это событие отрабатывает при перемещении по бровсу вверх низ и переменная всегда будет содержать значение из текущей строки ( а ведь ее нужно сделать текущей что б что то выбрать ).
При отказе от выбора по ESC или кнопке CANCEL - обнулять переменную перед закрытием окна.

PS/ уезжаю на несколько дней - м.б. не подскажу в это время - не знаю как с инетом

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




Пост N: 3586
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.08.14 12:15. Заголовок: Haz пишет: Проще по..


Haz пишет:

 цитата:
Проще повесить на ON CHANGE {|| nRetCode := FIELDGET(FIELDNUM("KCITY")) }.


Вот это мне и нужно было ! Спасибо !



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




Пост N: 3587
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.08.14 12:31. Заголовок: Имею в задаче 2 почт..


Имею в задаче 2 почти одинаковых TBROWSE, один со STATUSBAR, второй с подвалом.
У обоих навешаны функции обработки:
ON GOTFOCUS MyChangeBrowse(cAlias,"oBrw_5") ;
ON CHANGE (MyChangeBrowse(cAlias,"oBrw_5"),CorrectionFirstLast("oBrw_5"))

Функция для 1-го TBROWSE:
STATIC FUNCTION MyChangeBrowse(cAlias)
LOCAL nI, cVal

nI := INDEXORD()
IF nI == 0
cVal := NTOC(Recno()) + '/' + NTOC(RecCount())
ELSE
cVal := NTOC(OrdKeyNo()) + '/' + NTOC(OrdKeyCount())
ENDIF
Form_Spr.StatusBar.Item(2) := " Запись: " + cVal
RETURN Nil

Функция для 2-го TBROWSE:
STATIC FUNCTION MyChangeBrowse(cAlias)
LOCAL nI, cVal

nI := INDEXORD()
IF nI == 0
cVal := NTOC(Recno()) + '/' + NTOC(RecCount())
ELSE
cVal := NTOC(OrdKeyNo()) + '/' + NTOC(OrdKeyCount())
ENDIF
oBrw_5:aColumns[3]:cFooting := "Запись: "+cVal+SPACE(10)
RETURN Nil


На 1-ом TBROWSE нумерация отлично меняется при перемещении МАРКЕРА(курсора).
На 2-ом TBROWSE при перемещении МАРКЕРА(курсора) клавишами или мышкой в подвале нумерация записей НЕ МЕНЯЕТСЯ !!!
Как исправить ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 309
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 27.08.14 11:11. Заголовок: Andrey пишет: Как и..


Andrey пишет:

 цитата:
Как исправить ?


менять руками через присвоение :cFooting := 'новое значение'

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




Пост N: 3597
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.08.14 13:15. Заголовок: Haz пишет: менять р..


Haz пишет:

 цитата:
менять руками через присвоение :cFooting := 'новое значение'


Не понял...

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 310
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 27.08.14 14:28. Заголовок: Andrey пишет: Не по..


Andrey пишет:

 цитата:
Не понял..


это я не понял - не посмотрел что уже есть присвоение
после него попробуй oBrw_5:DrawFooters()


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




Пост N: 3598
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.08.14 16:09. Заголовок: Haz пишет: попробуй..


Haz пишет:

 цитата:
попробуй oBrw_5:DrawFooters()


Ура ! Заработало !
Спасибо БОЛЬШОЕ !!!

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




Пост N: 3599
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.08.14 17:10. Заголовок: Как сделать редактир..


Как сделать редактирование ячеек таблицы в TBROWSE, если нужно это сделать в отдельной функции ?
Т.е. при создании TBROWSE я делаю запрет на редактировании ячеек - oBrw_5:aColumns[nI]:lEdit := .F. и назначаю свою функцию обработки клавиш:
oBrw_5:bKeyDown := { | nKey , nFalgs| MyKeyActionDim(nKey,"oBrw_5", cParent) }
А уже в этой функции хочу сделать обработку по номерам колонок.
Допустит 1 колонку нельзя редактировать, вторую можно и т.д.
Т.е. как сделать GET поля применительно к МиниГуи - TBROWSE ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 311
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 27.08.14 18:59. Заголовок: Andrey пишет: если..


Andrey пишет:

 цитата:
если нужно это сделать в отдельной функции


в примерах tsbTest.prg есть Brw_4:aColumns[ 4 ]:bExtEdit := { |nAge,oBrw| fExternal( nAge, oBrw ) }
см как там сделано

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




Пост N: 3600
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.08.14 20:44. Заголовок: Haz пишет: см как т..


Haz пишет:

 цитата:
см как там сделано


Спасибо БОЛЬШОЕ !!!

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




Пост N: 3607
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.08.14 14:21. Заголовок: Привет всем. Вот опя..


Привет всем.
Вот опять непонятка. Сделал контекстное меню для TBROWSE и после выбора из него это контекстное меню остается на экране.
ТОЛЬКО после второго клика на этом меню, оно уходит.


При использовании другого меню с MsgInfo() - нормально уходит, сразу после первого нажатия.
Что в вызываемой функции нужно добавить ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 317
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 29.08.14 14:37. Заголовок: Andrey пишет: ТОЛЬК..


Andrey пишет:

 цитата:
ТОЛЬКО после второго клика на этом меню, оно уходит.



есть такой косяк, не разбираясь добавил в конец нужного действа информационное сообщение типа MsgBox('Включен показ удаленных записей')


Спасибо: 1 
Профиль
a_sidorov



Пост N: 50
Зарегистрирован: 07.06.08
ссылка на сообщение  Отправлено: 03.10.14 14:05. Заголовок: Есть проблема перекл..


Есть проблема переключения вида курсора c длинного (маркер на всю таблицу) на короткий по размеру ячейки и обратно.
Для выбора из справочника делаем при инициализации TBROWSE справочника курсор на всю таблицу
oBrw:lCellBrw := .f.
Если нужно редактировать справочник, переключаем на короткий курсор по размеру ячейки:
oBrw:lCellBrw := .t.
Курсор переключается нормально.
Для возврата назад после редактирования делаем:
oBrw:lCellBrw := .f.
oBrw:lLockFreeze:=.f.
oBrw:lEditable:=.f.
Курсор никак не хочет переключаться и остается по размером ячейки редактирования. Переинициализировать TBROWSE не очень хочется. Проблему решить пока не смог, может быть есть идеи или решение проблемы?


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




Пост N: 3640
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.10.14 11:54. Заголовок: a_sidorov пишет: Ку..


a_sidorov пишет:

 цитата:
Курсор никак не хочет переключаться и остается по размером ячейки редактирования.


Я тоже бы хотел узнать как в TBROWSE нужно это делать ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 321
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 06.10.14 13:06. Заголовок: a_sidorov пишет: Ку..


a_sidorov пишет:

 цитата:
Курсор никак не хочет



попробуйте примерно так

oBrw:lCellBrw := !oBrw:lCellBrw
oBrw:lEditable := oBrw:lCellBrw
AEval( oBrw:aColumns, { |oColumn| oColumn:lNoLite := oBrw:lCellBrw, oColumn:lFixLite := !oBrw:lCellBrw } )
oBrw:Refresh(.F.)


Спасибо: 0 
Профиль
a_sidorov



Пост N: 51
Зарегистрирован: 07.06.08
ссылка на сообщение  Отправлено: 07.10.14 13:30. Заголовок: Haz пишет: попробуй..


Haz пишет:

 цитата:
попробуйте примерно так



Большое спасибо, работает!!!
Нужно добавить, что перед переходом для редактирования (короткий курсор по ячейке) нужно поставить

AEval( oBrw:aColumns, { |oColumn| oColumn:lFixLite := .f. } )

Иначе не работает второй переход на редактирование

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




Пост N: 3649
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.10.14 22:49. Заголовок: Всем привет. Пытаюсь..


Всем привет.
Пытаюсь изменить - Цвет линий между ячейками:

// для всех колонок исполнить кодовый блок - поставиь цвета: ЧЕРНЫЙ-буквы ;
// БЕЛЫЙ-ячейки ;
// КРАСНЫЙ-фона курсора ;
// ЖЕЛТЫЙ-букв курсора ;
// ЖЕЛТЫЙ-фона редактируемого поля ;
// СИНИЙ-букв редактируемого поля ;
// CYAN-линий между ячейками !

AEval( &(cBrw):aColumns, { |oColumn| oColumn:nClrFore := Rgb( 0, 0, 0) ,;
oColumn:nClrBack := Rgb(255,255,255) ,;
oColumn:nClrFocuBack := RED ,;
oColumn:nClrFocuFore := Rgb(255,255,0) ,;
oColumn:nClrEditBack := Rgb(255,255, 0) ,;
oColumn:nClrEditFore := Rgb( 0, 0,255) } )
// ------- Не работает !!! - oColumn:nClrLine := Rgb( 0,176,240) } )


Как это можно сделать ?

Почему в методе SaveColor() и RestColor() CLASS TSColumn.prg не используется
::aColorsBack[ 15 ] := ?
::aColorsBack[ 16 ] := ?
::aColorsBack[ 17 ] := ?

Как мне запомнить текущий Цвет линий между ячейками на время, а потом восстановить его ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 326
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 12.10.14 11:06. Заголовок: Andrey пишет: // --..


Andrey пишет:

 цитата:
// ------- Не работает !!! - oColumn:nClrLine := Rgb( 0,176,240) } )




через oBrw:Setcolor( {CLR_LINE}, { Rgb( 0,176,240)} ) попробуй
PS не проверял , но раз в методе есть - должно работать

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




Пост N: 3650
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.10.14 12:49. Заголовок: Haz пишет: через oB..


Haz пишет:

 цитата:
через oBrw:Setcolor( {CLR_LINE}, { Rgb( 0,176,240)} ) попробуй
PS не проверял , но раз в методе есть - должно работать



Это работает ! Спасибо.

Как мне запомнить текущий Цвет линий между ячейками на время, а потом восстановить его ?



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




Пост N: 3651
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.10.14 20:56. Заголовок: aSave_CLR_LINE := &#..


aSave_CLR_LINE := &cBrw:nClrLine //запомнить цвет линий между ячейками
............
&cBrw:SetColor( { CLR_LINE }, {aSave_CLR_LINE} ) // восстановить цвет линий между ячейками таблицы


Спасибо: 0 
Профиль
Ответов - 301 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 99
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет