Dinkin
uniGUI Subscriber-
Posts
263 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Events
Everything posted by Dinkin
-
Я косякнул, прошу прощения😐
-
Наткнулся на небольшой мини косячек в компоненте(может нет), в TUniEdit, если свойство стоит InputType = 'number', то при кликанье на стрелки, событие OnChange срабатывает от двух до тех раз.
-
Добрый день. Возможна ли сборка под apache из Builder? Я знаю что есть такая галка, но помню что раньше часть сборок работала только из под Delphi.
-
Открыл для себя виртуальные поля. Через них все получилось.
-
Даже если они постоянно перезапонляются(в них помещаю значения того что пользователь отметил из выпадающих фильтров в колонках)?
-
Я использую Ваш код в связке с этим (извиняюсь что Builder)... //--------------------------------------------------------------------------- void __fastcall TGroupFrame::RightGridDrawColumnCell(TObject *Sender, int ACol, int ARow, TUniDBGridColumn *Column, TUniCellAttribs *Attribs) { // Если строка является заголовком к задачам (это работает, так как остаетется не тронутая первая колонка и на нее работает событие) if(ACol == 1 && RightGrid->Columns->Items[10]->Field->AsBoolean) { Attribs->Font->Color = clWebTeal; Attribs->Font->Style = TFontStyles() << fsBold; Attribs->Color = clWebWhiteSmoke; } // Обесцвечиваем строки которые были в фильтрах (work_lst и res_lst это глобальные TStringList списки) if(work_lst->IndexOf(RightGrid->Columns->Items[3]->Field->AsString) < 0 || res_lst->IndexOf(RightGrid->Columns->Items[9]->Field->AsString) < 0) { Attribs->Color = clWindow; Attribs->Font->Color = clWindow; } } //---------------------------------------------------------------------------
-
У меня есть выпадающие фильтры на колонках в таблице, и в зависимости что выбрано, мне надо подкрашивать в таблице красным (или прятать). То есть список все время меняется пользователем в реально времени. То что Вы написал, очень клевый вариант, но он работает с данными которые загружаются с БД, но не находятся уже в прогруженном виде, и не понятно как с renderer взаимодействовать с обычными функциями внутри программы (честно искал по форуму).
-
Что то вроде такого (не пишу на паскале...для примера написал) function TestFunction(st: String):Integer; begin return_value Integer; if st = 'a' then return_value := 1; else return_value := 2; end; Или как то то позволить менять цвет строк через GridDrawColumnCell (вижу что переназначили, но все же вдруг есть вариант).
-
Добрый день! А возможно из JSAddListener вызывать обычную функцию (передав в нее record.data[fieldIndx]) из тела программы, которая будет возвращать к примеру 0 или 1?
-
Вроде Нашел
-
А я могу как то определить индекс элемента что нажал галкой? Нашел только эту Тему, там тоже такая же проблема, но только с обычным комбобоксом.
-
Добрый день. В таблице в качестве фильтра использую TUniCheckComboBox, ну и некоторые строки выпадающего списка выделяю жирным через <strong>. Ну и эти моменты html попадают в текст.
-
Добрый день! А возможно как то сделать свой чек- список для колонки. или как то переиграть этот момент?. Есть необходимость в фильтре выбирать сразу несколько значений (в примерах сейчас только одно значение можно).
-
Добрый день. Я извиняюсь, небольшой вопросик, вот то что код выше отменяет для обработаных столбцов событие DrawColumnCell отключается.
-
Все суппер! Этот вариант подходит как и для дерева, так и для обычных таблиц)
-
Спасибо!
-
Ну у меня логика, что скрыть абсолютно все что с права от первой колонки.....и вот с 4-по 7(включительно) ку меня колонки в группе.
-
-
Подозреваю что так же не сработает и в обычной таблице
-
А почти работает, но только не трогает колонки которые сгруппированы =(
-
А с TUniDBTreeGrid такое не работает ? просто попробовал все тоже самое в такой таблице и нет эффекта.
-
Спасибо, все отлично!
-
Спасибо! А можно для уточнения подвести в итоге алгоритм, правильно ли я все понял (просто с последней Вашей корректировкой может какие то пункты можно пропустить)....вот так верно? 1. UniDBGrid1.OnDrawColumnCell -> procedure TMainForm.UniDBGrid1DrawColumnCell(Sender: TObject; ACol, ARow: Integer; Column: TUniDBGridColumn; Attribs: TUniCellAttribs); begin //if ARow = 1 then if Column.Field.DataSet.FieldByName('EmpNo').Value < 30 then begin if ACol > 1 then Attribs.Style.Cls := 'hide-column' end; end; 2.UniDBGrid1.ClientEvents.ExtEvents function reconfigure(sender, store, columns, oldStore, oldColumns, eOpts) { var startCol = 1; //zero based var colCount = columns.length; var fieldIndx = 0; //будет рассматриваться первая колонка var fieldValue = 30; //значение для условия проверки columns[startCol].renderer = function (value, metaData, record) { if (record.data[fieldIndx] < fieldValue) { metaData.tdCls = 'span-columns'; metaData.tdAttr = 'colspan='+ columns.length-2 ; } return value; }; startCol += 1; for (let i = startCol; i < colCount; i++) { if (columns[i].widget) { columns[i].onWidgetAttach = function(column, widget, record) { if (record.data[fieldIndx] < fieldValue) { widget.element.up('td').addCls('hide-column') } } } else { columns[i].renderer = function (value, metaData, record) { if (record.data[fieldIndx] < fieldValue) { metaData.tdCls = 'hide-column'; } return value; } } } } 3.UniDBGrid1.LayoutConfig.Cls = adjust-columns 4.CustomCSS -> .adjust-columns .span-columns { width: auto !important; } .adjust-columns .x-grid-item { /* This is pretty key... the framework sets a width of 0 on the table rows, * so this could have some other side effects */ width: 100% !important; } .adjust-columns .hide-column { display: none; }
-
Добрый день. Можно ли группировать TUniDBTreeGrid так же ка к и обычный TUniDBGrid? Я как понял ряд функционала перенять можно, к примеру я перекинул WidgetColumn и такие события как GridAfterLoad (у обычного дерева их нет, но работает же). А вот с группировкой чет не получается, возможно там ни как?