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


Пост 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 
ПрофильЦитата Ответить
Ответов - 201 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]


постоянный участник




Пост N: 7738
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.04.24 00:12. Заголовок: Схема расчёта итогов..


Схема расчёта итогов на лету, после установки фильтра на базу.
Может кому будет интересно.
Т.е. набираем буквы в поиске, и получаем итого в подвале таблицы.
Спасибо ОГРОМНОЕ Сергею.
Скрытый текст


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




Пост N: 7743
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.05.24 17:32. Заголовок: Открываю базу, устан..


Открываю базу, устанавливаю индекс, делаю SCOPE на базу.
После правки (ENTER) ячейки - теряется SCOPE... Почему ?
Что там хитрого сделано после правки ячейки ?

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




Пост N: 4561
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 06.05.24 18:12. Заголовок: Andrey пишет После п..


Andrey пишет
 цитата:
После правки (ENTER) ячейки - теряется SCOPE... Почему ?
Что там хитрого сделано после правки ячейки ?


При создании тсб надо ставить правильный тэг индекса, тсб его удерживает, если не используешь привязку тэгов к колонкам.

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




Пост N: 7744
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.05.24 19:43. Заголовок: SergKis пишет: При ..


SergKis пишет:

 цитата:
При создании тсб надо ставить правильный тэг индекса, тсб его удерживает, если не используешь привязку тэгов к колонкам.


Да кто же знал об этом ...
Спасибо БОЛЬШОЕ ! Заработало !

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2311
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.05.24 11:29. Заголовок: Andrey пишет: Да кт..


Andrey пишет:

 цитата:
Да кто же знал об этом


В твоей библиотеке TsbViewer есть такая функция

FUNCTION myDbIndexChange(cTitle, oBrw) 
LOCAL aRet, nIndx, cOrd

aRet := Tbrowse_MenuIndex(cTitle, oBrw)
IF LEN(aRet) > 0
nIndx := aRet[1]
cOrd := aRet[2]
DbSelectArea(oBrw:cAlias)
DbSetOrder(nIndx)
oBrw:uLastTag := (oBrw:cAlias)->( OrdName(nIndx) ) // без этого индекс слетает
oBrw:Reset()
oBrw:Refresh(.T.)
oBrw:GoTop()
DO EVENTS
ENDIF
oBrw:Setfocus()

RETURN NIL
Обрати внимание на комментарий

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




Пост N: 7745
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.05.24 13:20. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Обрати внимание на комментарий


Это я помню и делал с этим.
В новом примере, который сбоил - использовал ТОЛЬКО один индекс со SCOPE
Из-за этого и не тащил oBrw:uLastTag := (oBrw:cAlias)->( OrdName(nIndx) )

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




Пост N: 7746
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.05.24 13:33. Заголовок: Когда делаю oBrw:Ena..


Когда делаю oBrw:Enabled(.F.) остаётся не закрашенная колонка.

Это можно исправить в исходниках ?
Или дайте как это можно сделать ручками, пробовал сам, у меня не получилось.

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




Пост N: 4562
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.05.24 16:23. Заголовок: Andrey пишет В новом..


Andrey пишет
 цитата:
В новом примере, который сбоил - использовал ТОЛЬКО один индекс со SCOPE
Из-за этого и не тащил oBrw:uLastTag := (oBrw:cAlias)->( OrdName(nIndx) )


Его не надо тащить в такой ситуации, надо ставить сразу нужный тэг индекса, т.е.
dbSelectArea(cAls)
OrdSetFocus("MY_TAG")
...
DEFINE TBROWSE ...
или
oBrw := _TBrowse(...)
Далее можно, если надо, этот и другие тэги закреплять за колонками для DublClick-а по Header колонки и переключения тэгов показа тсб. oBrw:uLastTag самому надо вести при самостоятельном переключении тэгов, не используя механизм тсб и метод oBrw:SetOrder( nColumn )

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




Пост N: 7747
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.05.24 16:59. Заголовок: SergKis пишет: Его ..


SergKis пишет:

 цитата:
Его не надо тащить в такой ситуации, надо ставить сразу нужный тэг индекса


Да я понял ! Спасибо !
Что насчёт - Поста N: 7746 ?
Как закрасить SELECTOR ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2312
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.05.24 17:15. Заголовок: Andrey пишет: Как з..


Andrey пишет:

 цитата:
Как закрасить SELECTOR ?



 цитата:
FUNCTION Tbrowse_Customization( oBrw, oTsb ) // донастройка таблицы
...
// Левый верхний + нижний уголок - specialаselector header background color
oBrw:nClrSelectorHdBack := nClrNoDbf



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




Пост N: 4563
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 07.05.24 17:29. Заголовок: gfilatov2002 Это о ..


gfilatov2002
Это о другом, надо править метод Enabled Скрытый текст

Пример тут https://TransFiles.ru/s7vog
Клавиша F1 -> :Enabled(.F.)
Клавиша F2 -> :Enabled(.T.)

PS. В методе :DrawHeaders() делается следующее по селектору
 
IF nI == nBegin .AND. ::lSelector
nClrBacks := iif( ::lDrawSpecHd, ::nClrSpcHdBack, nClrHeadBack )
ELSE
nClrBacks := iif( ::nPhantom == -1, ATail( ::aColumns ):nClrSpcHdBack, nClrPane )
ENDIF


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2313
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 07.05.24 18:02. Заголовок: SergKis пишет: надо..


SergKis пишет:

 цитата:
надо править метод Enabled


Понял, уже поправил.
Благодарю за помощь

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




Пост N: 7766
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.06.24 14:19. Заголовок: Как для старой верси..


Как для старой версии МиниГуи 23.09.2 сделать удаление BRUSH для ТСБ ?
На новую версию МиниГуи не могу перейти.
У себя в большой системе везде при закрытии окна с ТСБ делаю так:
                           // ручное удаление объекта  
oBrw := ow:Cargo:oBrw
IF hb_IsObject(oBrw)
DeleteObject( oBrw:hBrush ) // не работает
oBrw:hBrush := NIL

DoEvents()
oBrw:Destroy()
ENDIF


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




Пост N: 4585
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.06.24 15:28. Заголовок: Andrey пишет Как для..


Andrey пишет
 цитата:
Как для старой версии МиниГуи 23.09.2 сделать удаление BRUSH для ТСБ ?


Я же тебе кидал txt файл с пошаговой правкой для удаления BRUSH, сделай в любой версии это.

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




Пост N: 7771
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.06.24 12:45. Заголовок: gfilatov2002 пишет: ..


В новой сборке МиниГуи 24.05 есть папка \SAMPLES\Advanced\Tsb_oHmgData\
Три примера работы с объектом Tsbrowse (ТСБ):  
1) demo.prg - на базе функции _TBrowse(...) с использованием oHmgData()
2) demo1.prg - на базе функции _TBrowse(...) сокращённый вариант и другой вариант правки колонок
3) demo2.prg - с помощью обычных функций и oHmgData()
--------------------------------------------------------------------------------------------------------------------
* Тестирование колонок в Tsbrowse для dbf файла
* Ввод в таблицу. Проверка до и после ввода.
* Итоги по числовым полям, автоматический пересчёт при изменении данных в колонке
* Своё окно редактирования мемо-поля и текстовых колонок с CRLF
* Отработка клика мышки (правая/левая) на суперхидере/шапке/подвале/ячейки таблицы
* Работа со SCOPE.
* Сохранение/восстановление размеров окна в ини-файл.
* Работа с буфером обмена: копирование/вставка ячеек таблицы разного формата
* Построение справочника ввода документов по месяцам года - demo2_menu_Fxx.prg
* Построение отчёта справочника ввода документов/поиск по буквам и подсчёт итогов "на лету"


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




Пост N: 7908
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.10.24 21:12. Заголовок: Как узнать, есть ли ..


Как узнать, есть ли внизу таблицы - линия скролинга ?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2379
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.10.24 16:38. Заголовок: Andrey пишет: есть ..


Andrey пишет:

 цитата:
есть ли внизу таблицы - линия скролинга ?


В твоей программе есть такие строки:

 цитата:
 
nY := oBrw:nBottom - oBrw:nHeightFoot - 7
nY += IIF( oBrw:oHScroll != NIL, GetHScrollBarHeight(), 0 )


Таким образом, условие IIF( oBrw:oHScroll != NIL, ... ) отвечает на поставленный вопрос.

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




Пост N: 7909
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.10.24 17:51. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
аким образом, условие IIF( oBrw:oHScroll != NIL, ... ) отвечает на поставленный вопрос.


Не работает, это просто пробовал. В том примере HScroll есть, из-за этого и работает.
В другом примере пробовал - где есть и нет HScroll - там всегда
? oBrw:oHScroll - выдаёт всегда 'o'

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2380
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.10.24 18:18. Заголовок: Andrey пишет: Не ра..


Andrey пишет:

 цитата:
Не работает, это просто пробовал.


Тогда попробуй такое условие

 цитата:
 
oBrw:oHScroll:nMin == 0 .and. oBrw:oHScroll:nMax == 0




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




Пост N: 7910
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.10.24 20:03. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Тогда попробуй такое условие


Это сработало ! Спасибо !
Исправленный пример отправил на почту.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 201 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 40
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет