Jump to content

Встроить UniDBNavigator в сетку uniDBGrid


x11

Recommended Posts

Внизу сетки куча свободного места.

Можно ли перед пагинатором или после него вставить навигатор?

Было бы вообще хорошо, если бы у сети был свой собственный встроенный навигатор.

Screenshot_43.jpg

Link to comment
Share on other sites

1 minute ago, x11 said:

Внизу сетки куча свободного места.

Можно ли перед пагинатором или после него вставить навигатор?

Было бы вообще хорошо, если бы у сети был свой собственный встроенный навигатор.

Да можно,

UniDBGrid.PagingBarAuxControl

  • Like 1
Link to comment
Share on other sites

23 minutes ago, Sherzod said:

PagingBarAuxControl

Навигатор в этом случае появляется в правом нижнем углу сетки.

А как его передвинуть поближе к пагинатору?

Link to comment
Share on other sites

4 hours ago, x11 said:

А как его передвинуть поближе к пагинатору?

1. UniDBGrid1.PagingBarAuxControl = ''

2. 

procedure TMainForm.UniFormReady(Sender: TObject);
begin
  with UniDBGrid1, UniDBGrid1.JSInterface do
    if WebOptions.Paged then
    begin
      JSCall('pagingBar.add', [JSObject('xtype: "tbseparator"')]);
      JSCall('pagingBar.add', [UniDBNavigator1.JSControl]);
    end;
end;

 

  • Like 1
Link to comment
Share on other sites

  • 4 months later...
On 5/14/2020 at 1:07 PM, x11 said:

Как встроить навигатор TUniDBNavigator в TUniDBTreeGrid?

Но с другой стороны, правильно ли использовать навигатор для tree панели!?

Link to comment
Share on other sites

А чем кардинально отличается обычная сетка от древовидной сетки?

И там, и там записи - стироки.

И там, и там записи - столбцы.

И там, и там записи можно редактировать, добавлять, удалять.

Что именно вас смутило в tree?

Link to comment
Share on other sites

Но навигатор для дерева - не самая большая проблема. Есть много других важных проблем, особенно в мобильной версии uniGUI :(

Link to comment
Share on other sites

On 10/8/2020 at 1:31 PM, x11 said:

а остальной функционал

Еще одно решение, попробуйте...

1. 

procedure TMainForm.UniFormCreate(Sender: TObject);
begin
  with UniDBTreeGrid1 do
  begin
    ClientEvents.UniEvents.Values['beforeInit'] :=
      'function beforeInit(sender, config){'+
      '    config.fbar = ['+
      '        {type: "button", text: ''<i class="fas fa-edit"></i> Edit'', '+
      '            listeners:'+
      '                {click: '+
      '                    function(){'+
      '                        if (sender.getSelection()[0] && !sender.getSelection()[0].data.children) {sender.editingPlugin.startEditByPosition('+
      '                        {column: sender.getSelectionModel().selection.colIdx, row: sender.getSelectionModel().selection.rowIdx})}'+
      '                    }'+
      '                }'+
      '        },'+
      '        {type: "button", text: ''<i class="fas fa-undo"></i> Cancel'','+
      '            listeners: {click: function(){ajaxRequest(sender, "canceledit", [])}}'+
      '        },'+
      '        {type: "button", text: ''<i class="fas fa-save"></i> Save'','+
      '            listeners: {click: function(){ajaxRequest(sender, "saveedit", [])}}'+
      '        }'+
      '    ]'+
      '}';
    JSInterface.JSAddListener('boxready',
      'function(){'+
      '    let fbar = this.down("toolbar");'+
      '    if (fbar) {'+
      '        fbar.setStyle("border-width", "1px");'+
      '        fbar.setStyle("border-top-width", "0px");'+
      // Для темы classic                         
      '        fbar.setStyle("background-image", "-webkit-linear-gradient(top, #dae7f6, #cddef3 45%, #abc7ec 46%, #abc7ec 50%, #b8cfee 51%, #cbddf3)");'+
      '    }'+
      '}'
    )
  end;
end;

2. 

procedure TMainForm.UniDBTreeGrid1AjaxEvent(Sender: TComponent;
  EventName: string; Params: TUniStrings);
begin
  if (EventName = 'canceledit')and(Если транзакция активна) then
    // Отменить, Откатить транзакцию
  else if (EventName = 'saveedit')and(Если транзакция активна) then
    // Сохранить, Закоммитить транзакцию

end;

DBNavigatorTree2.png.776d1e80816dab0f06b7e9edb4cf6910.png

  • Like 1
Link to comment
Share on other sites

  • 2 months later...
On 5/13/2020 at 8:55 PM, Sherzod said:

JSCall('pagingBar.add', [JSObject('xtype: "tbseparator"')]);

 

В связи с тем, что пагинатор отключается в режиме BufferedStore (бесконечной прокрутки), то подскажите, а как встроить пагинатор в заголовок сетки (HeadetTitle)? Очень желательно в левую часть.

Спасибо.

Link to comment
Share on other sites

2 minutes ago, x11 said:

В связи с тем, что пагинатор отключается в режиме BufferedStore (бесконечной прокрутки), то подскажите, а как встроить пагинатор в заголовок сетки (HeadetTitle)? Очень желательно в левую часть.

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

UniDBTreeGrid?

Link to comment
Share on other sites

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...