Dinkin Posted January 16 Author Share Posted January 16 У меня есть выпадающие фильтры на колонках в таблице, и в зависимости что выбрано, мне надо подкрашивать в таблице красным (или прятать). То есть список все время меняется пользователем в реально времени. То что Вы написал, очень клевый вариант, но он работает с данными которые загружаются с БД, но не находятся уже в прогруженном виде, и не понятно как с renderer взаимодействовать с обычными функциями внутри программы (честно искал по форуму). Quote Link to comment Share on other sites More sharing options...
Sherzod Posted January 16 Share Posted January 16 1 hour ago, Dinkin said: GridDrawColumnCell Сможете сделать простой тестовый случай, с использованием этого метода, чтобы увидеть какую логику используете? 1 Quote Link to comment Share on other sites More sharing options...
Dinkin Posted January 17 Author Share Posted January 17 Я использую Ваш код в связке с этим (извиняюсь что 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; } } //--------------------------------------------------------------------------- Quote Link to comment Share on other sites More sharing options...
Sherzod Posted January 17 Share Posted January 17 Да, Вы можете перенести логику на клиентскую часть. 27 minutes ago, Dinkin said: work_lst и res_lst Но эти переменные также должны быть объявлены на стороне клиента. Quote Link to comment Share on other sites More sharing options...
Dinkin Posted January 17 Author Share Posted January 17 Даже если они постоянно перезапонляются(в них помещаю значения того что пользователь отметил из выпадающих фильтров в колонках)? Quote Link to comment Share on other sites More sharing options...
Dinkin Posted January 18 Author Share Posted January 18 Открыл для себя виртуальные поля. Через них все получилось. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.