Автор | Сообщение |
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:....
|
|
|
Ответов - 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/ уезжаю на несколько дней - м.б. не подскажу в это время - не знаю как с инетом
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3586
Зарегистрирован: 12.09.06
|
|
Отправлено: 23.08.14 12:15. Заголовок: Haz пишет: Проще по..
Haz пишет: цитата: | Проще повесить на ON CHANGE {|| nRetCode := FIELDGET(FIELDNUM("KCITY")) }. |
| Вот это мне и нужно было ! Спасибо !
|
|
|
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 при перемещении МАРКЕРА(курсора) клавишами или мышкой в подвале нумерация записей НЕ МЕНЯЕТСЯ !!! Как исправить ?
|
|
|
Haz
|
| |
Пост N: 309
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.08.14 11:11. Заголовок: Andrey пишет: Как и..
Andrey пишет: менять руками через присвоение :cFooting := 'новое значение'
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3597
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.08.14 13:15. Заголовок: Haz пишет: менять р..
Haz пишет: цитата: | менять руками через присвоение :cFooting := 'новое значение' |
| Не понял...
|
|
|
Haz
|
| |
Пост N: 310
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.08.14 14:28. Заголовок: Andrey пишет: Не по..
Andrey пишет: это я не понял - не посмотрел что уже есть присвоение после него попробуй oBrw_5:DrawFooters()
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3598
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.08.14 16:09. Заголовок: Haz пишет: попробуй..
Haz пишет: цитата: | попробуй oBrw_5:DrawFooters() |
| Ура ! Заработало ! Спасибо БОЛЬШОЕ !!!
|
|
|
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 ?
|
|
|
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 ) } см как там сделано
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3600
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.08.14 20:44. Заголовок: Haz пишет: см как т..
Haz пишет: Спасибо БОЛЬШОЕ !!!
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3607
Зарегистрирован: 12.09.06
|
|
Отправлено: 29.08.14 14:21. Заголовок: Привет всем. Вот опя..
Привет всем. Вот опять непонятка. Сделал контекстное меню для TBROWSE и после выбора из него это контекстное меню остается на экране. ТОЛЬКО после второго клика на этом меню, оно уходит. При использовании другого меню с MsgInfo() - нормально уходит, сразу после первого нажатия. Что в вызываемой функции нужно добавить ?
|
|
|
|
Haz
|
| |
Пост N: 317
Зарегистрирован: 20.02.11
|
|
Отправлено: 29.08.14 14:37. Заголовок: Andrey пишет: ТОЛЬК..
Andrey пишет: цитата: | ТОЛЬКО после второго клика на этом меню, оно уходит. |
| есть такой косяк, не разбираясь добавил в конец нужного действа информационное сообщение типа MsgBox('Включен показ удаленных записей')
|
|
|
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 не очень хочется. Проблему решить пока не смог, может быть есть идеи или решение проблемы?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3640
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.10.14 11:54. Заголовок: a_sidorov пишет: Ку..
a_sidorov пишет: цитата: | Курсор никак не хочет переключаться и остается по размером ячейки редактирования. |
| Я тоже бы хотел узнать как в TBROWSE нужно это делать ?
|
|
|
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.)
|
|
|
a_sidorov
|
| |
Пост N: 51
Зарегистрирован: 07.06.08
|
|
Отправлено: 07.10.14 13:30. Заголовок: Haz пишет: попробуй..
Haz пишет: Большое спасибо, работает!!! Нужно добавить, что перед переходом для редактирования (короткий курсор по ячейке) нужно поставить AEval( oBrw:aColumns, { |oColumn| oColumn:lFixLite := .f. } ) Иначе не работает второй переход на редактирование
|
|
|
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 ] := ? Как мне запомнить текущий Цвет линий между ячейками на время, а потом восстановить его ?
|
|
|
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 не проверял , но раз в методе есть - должно работать
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3650
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.10.14 12:49. Заголовок: Haz пишет: через oB..
Haz пишет: цитата: | через oBrw:Setcolor( {CLR_LINE}, { Rgb( 0,176,240)} ) попробуй PS не проверял , но раз в методе есть - должно работать |
| Это работает ! Спасибо. Как мне запомнить текущий Цвет линий между ячейками на время, а потом восстановить его ?
|
|
|
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} ) // восстановить цвет линий между ячейками таблицы
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|