EOR Posted June 4, 2020 Share Posted June 4, 2020 Здравствуйте. Существует две реализации одного проекта "Desktop" версия и "Web" версия. Для реализации функционала работы с вводом параметров запроса в базу данных в Web версии проекта необходимо отобразить CheckBox в заголовке поля (TUniDBGridColumn). Например вот так это реализовано в "Desktop" версии проекта (используется TcxDBVerticalGrid - DevExpress VCL): ВОПРОСЫ: 1. Есть ли возможность реализовать такое в UniDBVerticalGrid? Обходные пути через ClientEvents -> ExtEvents? 2. Как обработать изменение состояния CheckBox (OnChange)? Заранее спасибо. Quote Link to comment Share on other sites More sharing options...
EOR Posted June 5, 2020 Author Share Posted June 5, 2020 Создаю динамически CheckBox'ы: // Создаем чекбоксы for i := 0 to UniDBVerticalGridVars.DBColumns.Count - 1 do begin uniDBGridColumn := TUniDBGridColumn(UniDBVerticalGridVars.DBColumns[i]); // if DataController.MacroList.Count > 0 then begin CheckBox := TUniCheckBox.Create(Self); with TUniCheckBox(InsertControl(CheckBox)) do begin; Top := 20 + i * 10; // Как найти смещение для попадания в нужную строку? Left := 20 + i * 10; // OnChange := UniCheckBoxChange; end; end; end; CheckBox'ы создаются но они перекрываются UniDBVerticalGrid'ом, то есть находятся под ним и невидимы. Методы CheckBox.BringToFront и UniDBVerticalGrid.SendToBack не работают. ВОПРОСЫ: 1. Как отобразить CheckBox'ы поверх грида??? 2. Как найти смещение для попадания CheckBox'а в нужную строку? 3. Как сделать отступ в заголовке uniDBGridColumn чтобы освободить место для CheckBox'а? Спасибо заранее. UPD: Пока увеличил отступ от левого края у грида. CheckBox'ы видно, но выглядит это очень коряво Вопросы, заданные выше, все еще актуальны. UPD2: Пробую изменить z-index для UniDBVerticalGrid: UniSession.AddJS('Ext.onReady(function(){'+UniDBVerticalGrid.JSName+'.getEl().setStyle(''z-index'','+IntToStr(99999)+')});'); Получаю ошибку: UniGUI 1.90.0.1526 Что делать??? Quote Link to comment Share on other sites More sharing options...
EOR Posted June 5, 2020 Author Share Posted June 5, 2020 Вопрос с отображением CheckBox'ов поверх грида решен. Добавляем обработчик в UniDBVerticalGrid / ClientEvent / Extevent / OnAfterrender: function OnAfterrender(sender) { sender.getEl().setStyle('z-index','0'); } Остался последний вопрос: Как сделать отступ текста в заголовке uniDBGridColumn чтобы убрать наложение текста и CheckBox'ов? Спасибо заранее. Quote Link to comment Share on other sites More sharing options...
Sherzod Posted June 6, 2020 Share Posted June 6, 2020 14 hours ago, EOR said: Как сделать отступ текста в заголовке uniDBGridColumn чтобы убрать наложение текста и CheckBox'ов? Здравствуйте, Можете прикрепить тестовый случай? Quote Link to comment Share on other sites More sharing options...
EOR Posted June 6, 2020 Author Share Posted June 6, 2020 Прикрепляю тестовый проект. UniDBVGridCheckBoxedTitles.zip Quote Link to comment Share on other sites More sharing options...
Sherzod Posted June 6, 2020 Share Posted June 6, 2020 1 hour ago, EOR said: Прикрепляю тестовый проект. Попробуйте поиграть с этим значением (CSS). 1. UniServerModule.CustomCSS: .customgrid .x-grid-cell-first { padding-left: 15px; } 2. UniDBVerticalGridVars.LayoutConfig.Cls = customgrid Quote Link to comment Share on other sites More sharing options...
EOR Posted June 6, 2020 Author Share Posted June 6, 2020 Да. Это отлично работает. Большое спасибо. 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.