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


Пост 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:....

























<a href=http://www.bestmarket.com.ua >ноутбуки</a>























<a href=http://www.bestmarket.com.ua >ноутбуки</a>
Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 286 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]





Пост N: 1707
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.01.18 14:28. Заголовок: Haz пишет метод рабо..


Haz пишет
 цитата:
метод работает. Я о том что просто не пользуюсь им.


Я тоже не пользуюсь, но с тем что работает, не соглашусь.
Если фонты по блоку кода - валится, нет footer вывода ...
т.е. для того чтобы заработал, надо делать спец. отображение тсб.
с изменениями, простенький вывод есть без адо, длл и др. спец.оборудования.

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


Пост N: 758
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 26.01.18 11:36. Заголовок: Tsb_seek ИЗ пример..


Tsb_seek ИЗ примеров c:\MiniGUI\SAMPLES\Advanced\Tsb_seek\

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

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




Пост N: 5703
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.01.18 13:48. Заголовок: Vlad04 пишет: то эк..


Vlad04 пишет:

 цитата:
то экран заполняется одинаковыми данными


Наверное залипла последняя запись в таблице. Такое бывает часто.
Нужно добавить разрыв в конец таблицы.
Был бы подвал в конце таблицы, можно было бы воспользоваться функцией
oBrw:SetNoHoles() // убрать дырку внизу таблицы


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


Пост N: 760
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 26.01.18 14:27. Заголовок: Помогло , без подвал..


Помогло , без подвала

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


Пост N: 761
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 26.01.18 14:52. Заголовок: Но не во всех случая..


Но не во всех случаях.
Помогло добавить

 цитата:

DEFINE TBROWSE Br_zaw AT 10, 1 OF o_test ALIAS "test" WIDTH (zox/2)-10 HEIGHT (zoy-150) ON CHANGE {||inkey(0.03),CorrectionFirstLast( Br_zaw )}


CorrectionFirstLast - где то здесь описывается


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




Пост N: 5705
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.01.18 15:38. Заголовок: Vlad04 пишет: Corre..


Vlad04 пишет:

 цитата:
CorrectionFirstLast


Выкинь эту функцию и забудь про неё !
Её дорабатывать нужно, я тоже её использовал, в каких то случаях помогает, в других вообще мешает.
Наz советовал её не пользоваться.
Делай высоту таблицы на 1-2 пикселя больше чем высота всех отображаемых ячеек.
Это SergKis так рекомендует. У меня залипание пропало в таких случаях.

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



Пост N: 1713
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.01.18 15:42. Заголовок: Vlad04 пишет Но не в..


Vlad04 пишет
 цитата:
Но не во всех случаях


если так
 
END WINDOW

br_f:SetNoHoles(3)
br_zaw:SetNoHoles(3)

br_f:enabled(.f.)


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


Пост N: 762
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 26.01.18 17:26. Заголовок: SergKis br_zaw:Set..


SergKis


 цитата:
br_zaw:SetNoHoles(3)


Очень хорошо ! А (3) , что означает ?
И вообще, что этот метод делает ?

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



Пост N: 1714
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.01.18 18:38. Заголовок: Vlad04 пишет что это..


Vlad04 пишет
 цитата:
что этот метод делает ?


Метод убирает дырку в низу таблицы, распределяя разницу между присутствующими заголовками\подвалами,
если их нет, есть только строки, то подправит размер тсб по высоте
 
METHOD SetNoHoles( nDelta, lSet ) CLASS TSBrowse

LOCAL nH, nK, nHeight, nHole

DEFAULT nDelta := 2, lSet := .T.
...

nDelta := 2 - поправка для расчетов разницы
lSet := .F. - рассчитает величину дырки, вернет из метода не меняя размер


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




Пост N: 5706
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.01.18 08:12. Заголовок: Делаю таблицу выбора..


Делаю таблицу выбора по базе.
Создаю колонки:
     // создать 1-ю колонку  
ADD COLUMN TO oBrw2 HEADER "Номер"+CRLF+"графы" ;
DATA FieldWBlock( "ID", Select() ) ;
SIZE nWidth1 PICTURE "@Z 999" ;
ALIGN DT_CENTER,DT_CENTER,DT_CENTER
// создать 2-ю колонку
ADD COLUMN TO oBrw2 HEADER "Наименование"+CRLF+"графы в карточке" ;
DATA FieldWBlock( "FHEADER", Select() ) ;
SIZE nWidth2 ;
ALIGN DT_LEFT,DT_CENTER,DT_LEFT
// создать 3-ю колонку
ADD COLUMN TO oBrw2 HEADER "Печать"+CRLF+"в таблице" ;
DATA FieldWBlock( "VIEW", Select() ) ;
SIZE nWidth3 ;
CHECKBOX ; // Editing with Check Box
ALIGN DT_CENTER, DT_CENTER ;
EDITABLE MOVE DT_MOVE_DOWN
oBrw2:aColumns[3]:bPrevEdit := {|| CheckField(), TRUE } // проверка до ввода
....
// --------- заменяем колонку CHECKBOX на свои картинки ---------
oBrw2:aCheck := { LoadImage("CheckT28"), LoadImage("CheckF28") }
....

Таблица не простая, для ID=0 делаются заголовки в таблице цветом и запрет на редактирование.
Нужно убрать в таблице показ чекбокса по условию ID=0.
Как это сделать ?

Вот картинка:




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


Пост N: 766
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 30.01.18 08:47. Заголовок: if i =3 ADD..



 цитата:

if i =3
ADD COLUMN TO Brw_1 DATA {|| iif(Dogovor->Vid > 0,aVidD[Dogovor->Vid],' Нет ' )} ....
...


А попробуй при формировании колонки установить условия показа чекбокса от значения ID. Т.е. вместо показа чекбокса можешь вывести пустое место.

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




Пост N: 5707
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.01.18 10:13. Заголовок: Vlad04 пишет: А поп..


Vlad04 пишет:

 цитата:
А попробуй при формировании колонки установить условия показа чекбокса от значения ID. Т.е. вместо показа чекбокса можешь вывести пустое место.


Покажи как:
 ADD COLUMN TO oBrw2 HEADER "Печать"+CRLF+"в таблице" ;  
DATA FieldWBlock( "VIEW", Select() ) ;


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


Пост N: 1166
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.01.18 14:13. Заголовок: Andrey пишет: Табли..


Andrey пишет:

 цитата:
Таблица не простая, для ID=0 делаются заголовки в таблице цветом и запрет на редактирование.
Нужно убрать в таблице показ чекбокса по условию ID=0.
Как это сделать ?


Не меняя класса TBROWSE можно только пытаться по условию ID=0 подменить ::aCheck в блоках ::bOnDrawLine и ::bOnDraw соответственно , а по условию ID <> 0 восстанавливать.
Но думаю грязновато работать будет. В смысле работать будет , но с глючком.

Оптимально - в классе дописать возможность ::aCheck назначать блок кода и добавить проверки на hb_isBlock( ::aCheck ).
тогда картинки чекбокса можно будет менять на лету , в том числе и задавать NIL

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




Пост N: 5709
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.01.18 15:02. Заголовок: Haz пишет: Не меняя..


Haz пишет:

 цитата:
Не меняя класса TBROWSE можно только пытаться по условию ID=0 подменить ::aCheck в блоках ::bOnDrawLine и ::bOnDraw соответственно , а по условию ID <> 0 восстанавливать.
Но думаю грязновато работать будет. В смысле работать будет , но с глючком.



Вот я с этим и бился... Решил сделать по другому:
 
LOCAL hImgTrue := LoadImage("CheckT28"), hImgFalse := LoadImage("CheckF28")
.....
// создать 3-ю колонку
ADD COLUMN TO oBrw2 HEADER "Печать"+CRLF+"в таблице" ;
DATA FieldWBlock( "VIEW", Select() ) ; // эту строку наверное можно выкинуть ?
SIZE nWidth3 ;
NAME VIEW BITMAP ;
ALIGN DT_CENTER, DT_CENTER ;
EDITABLE MOVE DT_MOVE_DOWN
oBrw2:aColumns[3]:bPrevEdit:= {|| CheckField(), FALSE } // проверка до ввода
oBrw2:aColumns[3]:uBmpCell := {|| IF( (oBrw2:cAlias)->ID == 0, '' , IF( (oBrw2:cAlias)->VIEW , hImgTrue, hImgFalse ) ) }
oBrw2:aColumns[3]:bData := {||Nil}
oBrw2:aColumns[3]:cData := '{||Nil}'
oBrw2:aColumns[3]:nAlign := nMakeLong( DT_CENTER, DT_CENTER )



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


Пост N: 1167
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.01.18 15:19. Заголовок: Andrey пишет: Решил..


Andrey пишет:

 цитата:
Решил сделать по другому:


вполне нормальное решение отказаться от чекбокса и использовать подмену ::bData и ::uBmpCell
и главное оно универсально

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


Пост N: 767
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 30.01.18 16:44. Заголовок: Andrey Покажи как: ..


Andrey

 цитата:
Покажи как:

ADD COLUMN TO Brw_1 DATA {|| iif(Dogovor->Vid <> 0,aVidD[Dogovor->Vid],' Нет ' )} ...

Вариант не для ПРЯМОГО РЕДАКТИРОВАНИЯ.




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


Пост N: 1168
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 30.01.18 20:39. Заголовок: Vlad04 пишет: Вариа..


Vlad04 пишет:

 цитата:
Вариант не для ПРЯМОГО РЕДАКТИРОВАНИЯ.


Это скорее вариант не прямой выборки. Для редактирования ему как до луны.
Но это ни в коем случае не упрёк. Как работает блок выборки_записи, все
знают со времен клиппера, и допилить - не вопрос.
PS. сам часто использую этот прием, ступор иногда возникает при инкрементальном поиске по таким колонкам


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




Пост N: 6712
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 30.01.18 22:43. Заголовок: Haz пишет: Для реда..


Haz пишет:

 цитата:
Для редактирования ему как до луны


Да уж


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




Пост N: 5710
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.01.18 22:57. Заголовок: Andrey пишет: oBrw2..


Andrey пишет:

 цитата:
oBrw2:aColumns[3]:bPrevEdit:= {|| CheckField(), FALSE } // проверка до ввода



Редактировать нужно ТОЛЬКО ТРЕТИЙ столбец. Мышка и Enter в CheckField() прекрасно с этим справляются.
Там ещё параллельно в другую базу пишется...

Скрытый текст



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


Пост N: 768
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 31.01.18 07:53. Заголовок: Haz Такую конструкци..


Haz
Такую конструкцию использую только для информационных столбцов, прямое редактирование использую
для простых таблиц, типа справочник (1-2 колонки), что сложней - в отдельной форме.

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

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