Форум » GUI » TsBrowse в Минигуи (продолжение) » Ответить

TsBrowse в Минигуи (продолжение)

Vlad04: TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений К примеру [quote] 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 [/quote] Здесь я собрал параметры из разных tBrows Можно или нет и какие парметры заменить выражением ( и каким) ? oBrw2:.... oBrw2:....

Ответов - 300, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All

Andrey: Dima пишет: Что бы не флудить еще пару-тройку страниц , самодостаточный пример. Спасибо Дима ! Только жалко, что там нет 1-ой колонки с нумерацией DATA oBrw:nLogicPos .... ----- Помнишь, говорили в этом фильме : Да гранаты у него не той системы... Жалко на ютубе не нашёл этого кусочка... Ну да ладно, буду смотреть.

Haz: Andrey пишет: Ну да ладно, буду смотреть. Ну куда там еще смотреть , все разжевано - пережевано дальше некуда жалко, что там нет 1-ой колонки с нумерацией DATA oBrw:nLogicPos .... так добавь с DATA ( oBrw:cAlias)->(OrdkeyNo()) , это же можно сделать самостоятельно

Andrey: Всем привет ! Можно ли при построение узнать размер пустой строки перед подвалом ?


Dima: Andrey Типа так [pre2] Func GetHole(obrw) local WorkHeight := oBrw:nHeight-oBrw:nHeightHead-oBrw:nHeightSuper-; oBrw:nHeightFoot-oBrw:nHeightSpecHd-if(!oBrw:lNoHScroll,16,0) RETURN (WorkHeight-Int(WorkHeight/oBrw:nHeightCell)*oBrw:nHeightCell) [/pre2]

Andrey: Dima пишет: Типа так Спасибо ! А как узнать кол-во строк в бровсе ? Хочу размер дырки/на кол-во строк в бровсе и добавить в oBrw:nHeightCell

SergKis: Andrey пишет:Хочу размер дырки/на кол-во строк в бровсе и добавить в oBrw:nHeightCell Если бы ровно делилось - не было бы дырки. Разницу надо относить к header, footer или менять размер по высоте tsb

Dima: Andrey пишет: Хочу размер дырки/на кол-во строк в бровсе и добавить в oBrw:nHeightCell типа так [pre2] ngh:=GetHole(oBrw) END TBROWSE oBrw:nHeightHead+=ngh+1 [/pre2]

Andrey: Dima пишет: oBrw:nHeightHead+=ngh+1 Нет, так не пойдёт. Нужно ngh/ кол-во строк бровса ! Так как узнать кол-во строк в бровсе ?

Dima: Andrey пишет: Так как узнать кол-во строк в бровсе ? Да писали тебе уже 100 раз oBrw:nrowcount()

Andrey: Dima пишет: oBrw:nrowcount() Спасибо ! Получилось ! Дырки больше нет !

Andrey: Показываю массив в Tsbrowse. 4 элемент массива логический T/F Как сделать блок кода для цвета, чтобы с F была окраска другим цветом ? oBrwF:SetColor( { 2 }, { ????

Haz: Andrey пишет: Как сделать блок кода для цвета, чтобы с F была окраска другим цветом ? oBrwF:SetColor( { 2 }, { ???? Ты это серьезно , а что непонятно в примере который Dima неделю назад сюда же кидал показ/непоказ удаленных записей ? Там же если Deleted() красилось серым. Заменить Deleted() на oBrw:aArray[oBrw:nAt][4] проблема ... Или настолько лень читать что тебе же и пишут ...

Andrey: Haz пишет: oBrw:aArray[oBrw:nAt][4] проблема Вот в этом и была проблема. Не понимал логику нумерации в массиве. Теперь буду знать ! Читать не лень. Не всегда нужно сразу что обсуждается, а потом забывается. Спасибо БОЛЬШОЕ !

Dima: Andrey пишет: Вот в этом и была проблема. Не понимал логику нумерации в массиве. Теперь буду знать ! Ага и потом спросишь тоже самое спустя месяц. "Все" развивается по спирали. Похоже ты вышел на новый виток Может тебе в отпуск нужно.....отдохни , сил наберись , мозги до кучи собери. Andrey пишет: Читать не лень. Не всегда нужно сразу что обсуждается, а потом забывается. Так ты же и спрашиваешь а потом БАЦ и оно у тебя забылось. Зачем спрашивал то ? PS Ни чего личного.

Andrey: Dima пишет: Так ты же и спрашиваешь а потом БАЦ и оно у тебя забылось. Зачем спрашивал то ? Спросил, не ответили. Потом другим отвлекли на работе. Взялся опять за то что не сделал. Вот и ещё раз спрашиваю. Всё как у всех, работа отвлекает от освоения нового... Так что не обижайтесь, на повторное расспрашивание. Спасибо за помощь ! А в отпуск бы я с удовольствием уехал... Пока не отпускает работа... Новое приходиться осваивать уже дома, по вечерам-ночам...

Haz: Andrey пишет: Не понимал логику нумерации в массиве. Теперь буду знать ! Хочется верить что надолго Tsb_Config - твой же пример [pre2] FUNCTION ColorPicker(oBrw) LOCAL aColor := {} aColor := n2RGB(oBrw:aArray[oBrw:nAt][oBrw:nCell] ) // получить цвет из текущей ячейки aColor := GetColor(aColor) // стандартное меню цвета IF aColor[1] # NIL // поместить новый цвет в текущую ячейку oBrw:aArray[oBrw:nAt][oBrw:nCell] := RGB(aColor[1], aColor[2], aColor[3] ) ENDIF RETURN NIL [/pre2] что то быстро забывается в отпуск

Andrey: Haz пишет: что то быстро забывается Забыл ! Точно, сам же делал... Из совместного примера с тобой - \MiniGUI\SAMPLES\Advanced\Tsb_colors_2 Да, надо бы в отпуск...

Andrey: Остался еще непонятен один вопрос. Есть ли в TsBrowse переменная ведущая подсчёт кол-ва ОТОБРАЖАЕМЫХ записей в зависимости от условий показа ? Допустим стоит режим SET DELETED ON в бровсе отображается 3 записи, если SET DELETED OFF - то 4 записи. Если использовать (oBrw:cAlias)->(OrdKeyCount()) или oBrw:nLen то они показывают ОБЩЕЕ кол-во записей в индексе и базе. Держать специально индекс (как в примере что дал Дима) - думаю не совсем верно, доп.расходы на ресурсы и под Leto - не нужно вообще. Самому считать/пересчитывать - как будет вести на больших базах не знаю... Как быть ?

Haz: Andrey пишет: Есть ли в TsBrowse переменная ведущая подсчёт кол-ва ОТОБРАЖАЕМЫХ записей в зависимости от условий показа TsBrowse тут не приделах , сам подумай где TS брать данные ? Если ты знаешь как получить это число напрямую из RDD DBFCDX - используй его. Я знаю только метод тупого пересчета или OrdKeyCount() по условному индексу. Другие RDD , например ADS позволяют дернуть количество записей в фильтре или получить нумератор в SQL запросе. Andrey пишет: Как быть ? Если хочешь что бы было сделано хорошо - сделай сам. Так что или считай или индексуй сам PS Вспомнил еще метод для подсчета удаленки - чтение файла FRead() блоками = длинне записи и подсчет '*' в заголовке записей

Andrey: Haz пишет: TsBrowse тут не приделах , сам подумай где TS брать данные ? А завести в TsBrowse специальную функцию, чтобы возвращала кол-во записей в TsBrowse ? Там же есть переменные типа oBrw:nLogicPos() В примере Tsb_Config.prg - Григорий делал подсчет: oBrw:bLogicLen := {|| iif( Empty(( oBrw:cAlias )->( DbFilter() )), ; ( oBrw:cAlias )->( LastRec() ), ; ( oBrw:cAlias )->( DbEval( { || M->nRecnoDbFilter++ }, &("{||" + ( oBrw:cAlias )->( DbFilter() ) + "}") ) ) ) } но он ломается, если стоишь на последней записи и нажимаешь стрелку вниз или мышкой вниз... Разве только у меня такая проблема стоит - показать общее кол-во выбранных записей ? Всем нужно !



полная версия страницы