Jump to content

Dinkin

uniGUI Subscriber
  • Posts

    263
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Dinkin

  1. Я косякнул, прошу прощения😐
  2. Наткнулся на небольшой мини косячек в компоненте(может нет), в TUniEdit, если свойство стоит InputType = 'number', то при кликанье на стрелки, событие OnChange срабатывает от двух до тех раз.
  3. Dinkin

    apache и C++

    Добрый день. Возможна ли сборка под apache из Builder? Я знаю что есть такая галка, но помню что раньше часть сборок работала только из под Delphi.
  4. Открыл для себя виртуальные поля. Через них все получилось.
  5. Даже если они постоянно перезапонляются(в них помещаю значения того что пользователь отметил из выпадающих фильтров в колонках)?
  6. Я использую Ваш код в связке с этим (извиняюсь что 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; } } //---------------------------------------------------------------------------
  7. У меня есть выпадающие фильтры на колонках в таблице, и в зависимости что выбрано, мне надо подкрашивать в таблице красным (или прятать). То есть список все время меняется пользователем в реально времени. То что Вы написал, очень клевый вариант, но он работает с данными которые загружаются с БД, но не находятся уже в прогруженном виде, и не понятно как с renderer взаимодействовать с обычными функциями внутри программы (честно искал по форуму).
  8. Что то вроде такого (не пишу на паскале...для примера написал) function TestFunction(st: String):Integer; begin return_value Integer; if st = 'a' then return_value := 1; else return_value := 2; end; Или как то то позволить менять цвет строк через GridDrawColumnCell (вижу что переназначили, но все же вдруг есть вариант).
  9. Добрый день! А возможно из JSAddListener вызывать обычную функцию (передав в нее record.data[fieldIndx]) из тела программы, которая будет возвращать к примеру 0 или 1?
  10. А я могу как то определить индекс элемента что нажал галкой? Нашел только эту Тему, там тоже такая же проблема, но только с обычным комбобоксом.
  11. Добрый день. В таблице в качестве фильтра использую TUniCheckComboBox, ну и некоторые строки выпадающего списка выделяю жирным через <strong>. Ну и эти моменты html попадают в текст.
  12. Добрый день! А возможно как то сделать свой чек- список для колонки. или как то переиграть этот момент?. Есть необходимость в фильтре выбирать сразу несколько значений (в примерах сейчас только одно значение можно).
  13. Добрый день. Я извиняюсь, небольшой вопросик, вот то что код выше отменяет для обработаных столбцов событие DrawColumnCell отключается.
  14. Все суппер! Этот вариант подходит как и для дерева, так и для обычных таблиц)
  15. Ну у меня логика, что скрыть абсолютно все что с права от первой колонки.....и вот с 4-по 7(включительно) ку меня колонки в группе.
  16. Вот эти 4 колонки не трогает скрипт, оставляет их видимыми, так как они сгруппированы
  17. Подозреваю что так же не сработает и в обычной таблице
  18. А почти работает, но только не трогает колонки которые сгруппированы =(
  19. А с TUniDBTreeGrid такое не работает ? просто попробовал все тоже самое в такой таблице и нет эффекта.
  20. Спасибо! А можно для уточнения подвести в итоге алгоритм, правильно ли я все понял (просто с последней Вашей корректировкой может какие то пункты можно пропустить)....вот так верно? 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; }
  21. Добрый день. Можно ли группировать TUniDBTreeGrid так же ка к и обычный TUniDBGrid? Я как понял ряд функционала перенять можно, к примеру я перекинул WidgetColumn и такие события как GridAfterLoad (у обычного дерева их нет, но работает же). А вот с группировкой чет не получается, возможно там ни как?
×
×
  • Create New...