Jump to content

Recommended Posts

Posted

Здравствуйте.

Существует две реализации одного проекта "Desktop" версия и "Web" версия.

Для реализации функционала работы с вводом параметров запроса в базу данных в Web версии проекта необходимо отобразить CheckBox в заголовке поля (TUniDBGridColumn).

image.png.74b08afc1a635fce50ef9c9dc57bb0f3.png

Например вот так это реализовано в "Desktop" версии проекта (используется TcxDBVerticalGrid - DevExpress VCL):

image.png.bbb3aceb0afc66e0e87884789a7669b1.png

ВОПРОСЫ:

1. Есть ли возможность реализовать такое в UniDBVerticalGrid? Обходные пути через ClientEvents -> ExtEvents?

2. Как обработать изменение состояния CheckBox (OnChange)?

 

Заранее спасибо.

Posted

Создаю динамически 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 не работают.

image.png.182550e5ee961183325ecf34abf12554.pngimage.png.6d10471fc8cfec7fd23dadd684334151.png 

ВОПРОСЫ:

1. Как отобразить CheckBox'ы поверх грида???

2. Как найти смещение для попадания CheckBox'а в нужную строку?

3. Как сделать отступ в заголовке uniDBGridColumn чтобы освободить место для CheckBox'а?

Спасибо заранее.

 

UPD: Пока увеличил отступ от левого края у грида. CheckBox'ы видно, но выглядит это очень коряво :) Вопросы, заданные выше, все еще актуальны.

image.png.0538ccbe163cd18f21fc9fd5d1170aa4.png

 

UPD2: Пробую изменить z-index для UniDBVerticalGrid:

UniSession.AddJS('Ext.onReady(function(){'+UniDBVerticalGrid.JSName+'.getEl().setStyle(''z-index'','+IntToStr(99999)+')});');

Получаю ошибку:

image.png.e9d51ee1a578535730a21333bb38874e.png

UniGUI 1.90.0.1526

Что делать???

 

Posted

Вопрос с отображением CheckBox'ов поверх грида решен.

Добавляем обработчик в UniDBVerticalGrid / ClientEvent / Extevent / OnAfterrender:

function OnAfterrender(sender)
{ 
  sender.getEl().setStyle('z-index','0');
}

image.png?_uid=17948412&hid=1.1.3&ids=172544160723656410&name=image.png&yandex_class=yandex_inline_content_320.mail:17948412.E3453857:21784794569396401420898323418_1.1.3_172544160723656410

Остался последний вопрос: 

Как сделать отступ текста в заголовке uniDBGridColumn чтобы убрать наложение текста и CheckBox'ов?

Спасибо заранее.

Posted
14 hours ago, EOR said:

Как сделать отступ текста в заголовке uniDBGridColumn чтобы убрать наложение текста и CheckBox'ов?

Здравствуйте,

Можете прикрепить тестовый случай?

Posted
1 hour ago, EOR said:

Прикрепляю тестовый проект.

Попробуйте поиграть с этим значением (CSS).

1. UniServerModule.CustomCSS:

.customgrid .x-grid-cell-first {
    padding-left: 15px;
}

2. UniDBVerticalGridVars.LayoutConfig.Cls = customgrid

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...