Автор | Сообщение |
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: 152
Зарегистрирован: 20.02.11
|
|
Отправлено: 15.03.14 19:49. Заголовок: ZAlex пишет: А если..
ZAlex пишет: цитата: | А если скомпилировать с ключом -p |
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3276
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.03.14 20:42. Заголовок: ZAlex пишет: А если..
ZAlex пишет: цитата: | А если скомпилировать с ключом -p и затем посмотреть, как препроцессор это делает? Не поможет? |
| Блин, забыл ! Спасибо !
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 430
Зарегистрирован: 13.10.05
|
|
Отправлено: 03.05.14 14:04. Заголовок: При наличии индексов..
При наличии индексов управлять выбором их можно "кликнув" мышкой по заголовку колонки цитата: | Brw_1:SetIndexCols( 2,1 ) Brw_1:aColumns[ 1 ]:cOrder := "CODE" Brw_1:aColumns[ 2 ]:cOrder := "Name" |
| А как с помощью клавиатуры то же сделать ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3346
Зарегистрирован: 12.09.06
|
|
Отправлено: 04.05.14 13:42. Заголовок: Vlad04 пишет: А как..
Vlad04 пишет: цитата: | А как с помощью клавиатуры то же сделать ? |
| Вот еще пример использования TBROWSE. В нем есть функция обработки всех клавиш MyKeyAction(). Вот можете туда и вставить обработку своих клавиш. http://files.mail.ru/50BF541945984119BE7B20C8CBFB588A Может еще можно это сделать с помощью команд: ON KEY F? ACTION MyFunction() Это то что я знаю пока. Может и не прав... Нужно ждать ответ от нашего ГУРУ...
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 431
Зарегистрирован: 13.10.05
|
|
Отправлено: 04.05.14 19:49. Заголовок: ок В примере есть от..
ок В примере есть ответ на поставленный вопрос цитата: | oBrw_1:aColumns[2]:bHLClicked:={||ChoiHeader(3)} //переключение индекса по шапке / switching index on the table header |
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3349
Зарегистрирован: 12.09.06
|
|
Отправлено: 07.05.14 15:40. Заголовок: Vlad04 пишет: В при..
Vlad04 пишет: цитата: | В примере есть ответ на поставленный вопрос |
| Как сам пример ? Вам понравился ? Может чего не хватает ? Делал специально в качестве обучающего примера.
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 437
Зарегистрирован: 13.10.05
|
|
Отправлено: 21.05.14 07:14. Заголовок: Andrey Как сам прим..
Andrey цитата: | Как сам пример ? Вам понравился ? Может чего не хватает ? |
| Пример понравился (цветовой оформление, работа с директориями), но имеет свою специфику. Вопросы по TBROWS остались. 1) Как удалить запись ( не нашел в примерах или плохо искал) 2) Такая рабочая ситуация : - Перед открытием в таблице ищу нужную запись (таблица может быть индексирована или нет. Естественно поиск по индексу или Locate) - после открытия курсор должен быть на найденной записи.
|
|
|
Haz
|
| |
Пост N: 242
Зарегистрирован: 20.02.11
|
|
Отправлено: 21.05.14 09:50. Заголовок: Vlad04 пишет: 1) Ка..
Vlad04 пишет: (oBrw:cAlias)->(DbDelete()) oBrw:Refresh(.T.) Vlad04 пишет: цитата: | поиск по индексу или Locate |
| Seek: oBrw:SetFocus() (oBrw:cAlias)->(oBrw:ExpSeek( cExp, FALSE )) Locate: oBrw:SetFocus() oBrw:ExpLocate( cExp ) Vlad04 пишет: добавить что то типа oBrw:Upstable() oBrw:ResetVScroll(.T.) oBrw:Refresh(.T., .T.)
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 438
Зарегистрирован: 13.10.05
|
|
Отправлено: 21.05.14 10:22. Заголовок: ок С удалением все н..
ок С удалением все нормально. С поиском цитата: | Seek: oBrw:SetFocus() (oBrw:cAlias)->(oBrw:ExpSeek( cExp, FALSE )) |
| А найти нужную запись до открытия TBROWS , а потом спозиционировать TBROWS никак ?
|
|
|
Dima
|
| |
Пост N: 4021
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.05.14 11:04. Заголовок: Vlad04 пишет: А най..
Vlad04 пишет: цитата: | А найти нужную запись до открытия TBROWS , а потом спозиционировать TBROWS никак ? |
| А что при таком подходе курсор становится не туда ? Нашел , открыл бровс..........
|
|
|
Haz
|
| |
Пост N: 243
Зарегистрирован: 20.02.11
|
|
Отправлено: 21.05.14 11:20. Заголовок: Vlad04 пишет: найти..
Vlad04 пишет: цитата: | найти нужную запись до открытия TBROWS , а потом |
| можно так попробовать (oBrw:cAlias)->(DbGoto(nRec)) oBrw:Upstable() oBrw:Refresh(.T., .T.)
|
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 439
Зарегистрирован: 13.10.05
|
|
Отправлено: 21.05.14 11:46. Заголовок: А что при таком подх..
цитата: | А что при таком подходе курсор становится не туда ? |
| Не становится куда надо !. Есть у TBROWS переменная VALUE , если ей присваивать полученное Recno() после поиска , куда-то курсор перемещается при открытии , но не нату запись, которая найдена. Если VALUE не использовать , то на первую запись.
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 440
Зарегистрирован: 13.10.05
|
|
Отправлено: 21.05.14 11:51. Заголовок: Haz ОК И поиск полу..
Haz ОК И поиск получился
|
|
|
a_sidorov
|
| |
Пост N: 43
Зарегистрирован: 07.06.08
|
|
Отправлено: 21.05.14 15:28. Заголовок: B Tsbrowse есть эффе..
B Tsbrowse есть эффект нижней строки, которая прорисовывается при создании Tsbrowse, но не участвует в скроллинге вправо-влево и вверх-вниз, то есть просто висит на экране замороженная. Это видно на примерах из дистрибутива: SAMPLES\Advanced\TsBrowse Меню TSBrowse\More To One и TSBrowse\Excel Connectivity Для фиксированного размера Tsbrowse наверно можно подобрать размеры, чтобы эффекта не было. Но если делать настраиваемые размеры, то неприятный эффект появляется во всей красе. В последнем примере (TSBrowse\Excel Connectivity) , если изменить мышкой вертикальный размер так, чтобы последняя строка была прорисована не полностью, то при движении курсора вверх она зависает и не перерисовывается. Видимо, при создании таблицы и перерисовке в этом случае считается разное количество строк. При создании таблицы строка, не умещающаяся полностью на экране, не должна была прорисовываться.
|
|
|
Vlad04
|
| постоянный участник
|
Пост N: 441
Зарегистрирован: 13.10.05
|
|
Отправлено: 22.05.14 12:05. Заголовок: По примеру 1) &..
По примеру 1) цитата: | &cBrw:bKeyDown := { | nKey | MyKeyAction(nKey,cBrw, cParent, 0), lOk := nKey != VK_ESCAPE } |
| Независимо от раскладки клавиатуры всегда возвращает англиЦкие. Так должно быть ? По TSBrows 2) При доступности редактирования ячейки, вход в ячейку по нажатию Enter или двойной клик. А можно клавиши в данном случае переназначить ? К примеру, редактировать по F4. 3) В консоле, когда не надо было менять значения непосредственно в Бровзе я иногда выводил данные так FAM+'|'+iM+'|'+oT+'|' или так if(Sex=1;'Муж';'Жен') Т.е. делал составную запись или подстановку Что-нибудь подобное можно в TSBrows
|
|
|
Haz
|
| |
Пост N: 244
Зарегистрирован: 20.02.11
|
|
Отправлено: 22.05.14 21:20. Заголовок: Vlad04 пишет: 3) В ..
Vlad04 пишет: цитата: | 3) В консоле, когда не надо было менять значения непосредственно в Бровзе я иногда выводил данные так FAM+'|'+iM+'|'+oT+'|' |
| все тоже самое - определяешь блок выборки bData := {|| ...} Vlad04 пишет: цитата: | всегда возвращает англиЦкие. Так должно быть ? |
| так и должно . В принципе можно добраться до языка клавиатуры и по собственной таблице соответствий - руский/англ и верхний /нижний - вернуть то что надо. Не проверял , не делал сам т.к. не нужно было , но уверен на 10000% все достаточно реализуемо Vlad04 пишет: цитата: | К примеру, редактировать по F4. |
| сейчас не готов ответить , нужно глянуть исходники скорее всего на F4 тоже можно повесить блок DblClick
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3389
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.05.14 22:24. Заголовок: Vlad04 пишет: Незав..
Vlad04 пишет: цитата: | Независимо от раскладки клавиатуры всегда возвращает англиЦкие. Так должно быть ? |
| Делай свою обработку в функции MyLatRus() Но может можно и по другому, я пока не знаю (разбираюсь с этим). Надо спросить других. Не уж то нет стандарта обработки клавиш для TBROWSE ? Vlad04 пишет: цитата: | По TSBrows 2) При доступности редактирования ячейки, вход в ячейку по нажатию Enter или двойной клик. А можно клавиши в данном случае переназначить ? К примеру, редактировать по F4. |
| Я выше уже писал: "В нем есть функция обработки всех клавиш MyKeyAction(). Вот можете туда и вставить обработку своих клавиш. "
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 3391
Зарегистрирован: 12.09.06
|
|
Отправлено: 22.05.14 23:08. Заголовок: a_sidorov пишет: B ..
a_sidorov пишет: цитата: | B Tsbrowse есть эффект нижней строки, которая прорисовывается при создании Tsbrowse, но не участвует в скроллинге вправо-влево и вверх-вниз, то есть просто висит на экране замороженная. Это видно на примерах из дистрибутива: SAMPLES\Advanced\TsBrowse Меню TSBrowse\More To One и TSBrowse\Excel Connectivity Для фиксированного размера Tsbrowse наверно можно подобрать размеры, чтобы эффекта не было. Но если делать настраиваемые размеры, то неприятный эффект появляется во всей красе. В последнем примере (TSBrowse\Excel Connectivity) , если изменить мышкой вертикальный размер так, чтобы последняя строка была прорисована не полностью, то при движении курсора вверх она зависает и не перерисовывается. Видимо, при создании таблицы и перерисовке в этом случае считается разное количество строк. При создании таблицы строка, не умещающаяся полностью на экране, не должна была прорисовываться. |
| Да, да, есть такая фигня... Как с этим бороться ?
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 593
Зарегистрирован: 11.02.10
|
|
Отправлено: 23.05.14 14:49. Заголовок: Andrey пишет: Как с..
Andrey пишет: Есть вариант добавить функцию CorrectionFirstLast(oBrw) при обработке события ON CHANGE (см. пример в папке samples\Advanced\TSB_lastrow). Но при использовании этого пути возможны побочные эффекты Поэтому надо проверять это решение на Вашем конкретном приложении
|
|
|
a_sidorov
|
| |
Пост N: 44
Зарегистрирован: 07.06.08
|
|
Отправлено: 26.05.14 15:41. Заголовок: Спасибо! Вроде работ..
Спасибо! Вроде работает!!! Поставил CorrectionFirstLast("oBrw_1) в ON CHANGE и в функцию перерисовки при изменения размера: FUNCTION ResizeBrowse() oBrw_1:Move( oBrw_1:nLeft ,oBrw_1:nTop , Form_0.Width-19, Form_0.Height-93, .t.) oBrw_1:Paint() CorrectionFirstLast("oBrw_1") RETURN Nil Не очень нравится появившееся мелькание – перерисовка при изменении размера окна. Надеюсь, что со временем найдется решение с меньшим мельканием. Может еще что-то можно придумать? Если убрать Paint(), то иногда появляются глюки, обычно после достижения конца файла.
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|