Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 33 34 35 36 37 38 39 40 [41] 42   вперед  Ctrl
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
X11, в общем, чтобы убрать линии, нужно включить два свойства: AutoExpand и UseArrows. Не знаю, и не понимаю, как они связаны с этими линиями.
13 фев 20, 22:20    [22079627]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
У меня вопрос по TuniFieldSet и схожим панелям, где есть возможность их сворачивать.

http://forums.unigui.com/index.php?/topic/11774-how-to-show-closed-unifieldset/
Автор реализовать возможность сворачивать и разворачивать и это удобно, но работает это только в браузере. Т.е. на стороне сервера нет возможности узнать состояние uniFieldSet`а. Например, чтобы сохранить состояние и потом, при создании формы, восстановить это состояние.

Развернуть программно такую панель можно так:
with YourFieldSet do
    if Collapsible then
     JSInterface.JSConfig('collapsed', [True]);


UniSession.AddJS('Ext.onReady(function () {' + Unipanel1.JSName + '.collapse()});');     

UniSession.AddJS('Ext.onReady(function () {' + Unipanel1.JSName + '.expand()});');


Сообщение было отредактировано: 13 фев 20, 22:28
13 фев 20, 22:26    [22079631]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
afgm
Member

Откуда:
Сообщений: 586
X11
а как убрать эти линии?

Ну если только этим :)

When you set the useArrows configuration to true, the Tree Panel hides the lines and uses arrows as expand and collapse icons. doc

Слева, правда, останется пустота. Не очень красиво.
13 фев 20, 22:36    [22079636]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
afgm
Member

Откуда:
Сообщений: 586
Надо будет тоже допилить, почище выглядит, чем TreeView. А то штатный я уже фильтром дополнил и ещё мелкими плюшками

К сообщению приложен файл. Размер - 9Kb
13 фев 20, 22:45    [22079637]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
Поиск довольно простой по дереву
+
procedure TfmdSelTree.edSearchChange(Sender: TObject);
Var
  n: TUniTreeNode;
begin
//  self.Caption := TUniEdit(Sender).Text;
  n := FindNodeByText(TUniEdit(Sender).Text);

  if Assigned(n) then
  begin
    n.Selected := true;
    n.MakeVisible;
  end;
end;

function TfmdSelTree.FindNodeByText(const Text: string): TUniTreeNode;
begin
  if text.IsEmpty then
    exit(nil);

  result := fmdSelTree.treeSel.Items.GetFirstNode;


  while Assigned(result) do
  begin
    if result.Text.ToLowerInvariant.Contains(text.ToLowerInvariant) then
      exit(result);

    result := result.GetNext;
  end;// while
end;


а как реализовать фильтрацию?
13 фев 20, 22:49    [22079639]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
afgm
Member

Откуда:
Сообщений: 586
X11
а как реализовать фильтрацию?

if ... then 
  Items[i].Visible := True;
else
  Items[i].Visible := False


Для подстветки найденного пришлось чуть сложнее: надо ноду своего типа создать и хранить там оригинальное значение Это нужно потому, что HTML-теги будут портить оригинальное значение и его надо будет восстанавливать. Можно это делать на стороне клиента, но в ExtJS надо шарить нехило.
13 фев 20, 23:08    [22079652]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
afgm
X11
Кто может скачать в предпоследнем сообщении Unichecklst.zip?

Чем штатный UniTreeView не устраивает?


У UniListBox есть встроенная сортировка
13 фев 20, 23:34    [22079658]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
Не могу понять, а что нужно сделать, чтобы у дерева включалась прокрутка?
У одного дерева есть, у другого - нету
13 фев 20, 23:42    [22079661]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
afgm
Member

Откуда:
Сообщений: 586
X11
Не могу понять, а что нужно сделать, чтобы у дерева включалась прокрутка?
У одного дерева есть, у другого - нету

А данные не влезают в обоих?
13 фев 20, 23:49    [22079663]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
да, конечно
13 фев 20, 23:53    [22079664]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
Я так понял, что панель, на которой лежит дерево, автоматически увеличивается. При этом нижняя часть панели уезжает за границу экрана. Панель лежит на UniFieldContainer, а UniFieldContainer лежит на UniScrollBox.
Что-то ведь должно прокручиваться...
14 фев 20, 00:02    [22079666]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
В общем, для скрытия полосы прокрутки, у UniScrollBox был такой код в

function afterrender(sender, eOpts)
{
  sender.el.dom.style.overflowY = "hidden"
}	


Убрал код, появились полосы и прокрутка тоже, даже у дерева, хотя код был только у UniScrollBox`а.

Теперь нужно понять, как правильно скрыть полосы прокрутки, у UniScrollBox, но чтобы прокрутка работала.
14 фев 20, 00:07    [22079667]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
afgm
Member

Откуда:
Сообщений: 586
X11
Теперь нужно понять, как правильно скрыть полосы прокрутки, у UniScrollBox, но чтобы прокрутка работала.

А это как должно работать по задумке?
14 фев 20, 00:46    [22079678]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
Должна быть прокрутка, но без видимых полос.
Полосы скрывать можно ещё и другими способами, но всё время получается так место под полосу прокрутки всё равно резервируется, если можно так выразиться.
Здесь 22076325 я картинку оставил.
14 фев 20, 00:55    [22079680]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
afgm
Member

Откуда:
Сообщений: 586
afgm
А это как должно работать по задумке?

Кажется понял, но если судить по тому, что скролы там от самого браузера, и в ExtJS ничего на эту тему нет, то надо контейнер в контейнер упаковывать.

А нужно вот это?
14 фев 20, 00:55    [22079681]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
Сделал пример с использованием связки UniTreeMenu + UniMenuItems + UniPageControl.
В UniPageControl встраиваются фреймы UniFrame.
Критикуйте.

Задавайте свои ответы.

К сообщению приложен файл (UniTreeMenu.rar - 3Kb) cкачать
14 фев 20, 11:20    [22079823]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
afgm
Кажется понял, но если судить по тому, что скролы там от самого браузера, и в ExtJS ничего на эту тему нет, то надо контейнер в контейнер упаковывать.


только я не понял, что и куда именно в самом проекте добавить?
14 фев 20, 11:54    [22079854]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 60844
X11> Не возможности развернуть?

Да, без кнопки, сразу.

Posted via ActualForum NNTP Server 1.5

14 фев 20, 13:59    [22080005]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
Гаджимурадов Рустам,

ну да, в примере, что я выше прикрепил разворот меню при щелчке по пункту. Т.е. или разворот, или запуск действия.
14 фев 20, 14:08    [22080015]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
afgm
afgm
А это как должно работать по задумке?

Кажется понял, но если судить по тому, что скролы там от самого браузера, и в ExtJS ничего на эту тему нет, то надо контейнер в контейнер упаковывать.

А нужно вот это?


просто так не получится, т.к. UniGUI добавляет кучу своего мусора, каких-то доп. обёрток и т.д. + ставит этим элементам и обёрткам конкретные значения ширины.
14 фев 20, 14:10    [22080018]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
afgm
Member

Откуда:
Сообщений: 586
X11
только я не понял, что и куда именно в самом проекте добавить?

X11

просто так не получится, т.к. UniGUI добавляет кучу своего мусора, каких-то доп. обёрток и т.д. + ставит этим элементам и обёрткам конкретные значения ширины.


Вот тут-то и проблема, надо хорошо понимать на уровне ExtJS, или уже после рендеринга ноды пересортировать. Сам не пробовал так жёстко поступать с компонентами ExtJS.
14 фев 20, 14:50    [22080085]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
Вопрос по UniDBGrid.
Нужна, наверное, больше идея, чем реализация.
Есть в программе правило, что пользователю запрещено отображать в сетке ту или иную колонку.
Как бы это реализовать в сетке?
Если
UniDBGrid1.Columns.ColumnFromFieldName('pole1').Visible := False;

То пользователь легко может потом отобразить столбец через свойства таблицы.

В cxGrid удобно сделали, там есть свойство VisibleForCustomization у колонки.

У TUniDBGrid есть события типа OnColumnSort/Risize/Move, но нету чего-то вроде OnColumnVisibleHide.
17 фев 20, 17:27    [22081553]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
энди
Member

Откуда: Киров, Россия
Сообщений: 1075
скрывайте содержимое поля датасета на сервере иначе вся эта защита курам на смех.
17 фев 20, 17:53    [22081576]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 13833
Вот фактически на сервере я и собираюсь скрывать. Дельфи-код - это же на сервере.
17 фев 20, 19:33    [22081654]     Ответить | Цитировать Сообщить модератору
 Re: Применение UniGui  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3517
X11,

я так понял имеется в виду фильтрация в запросе.
18 фев 20, 06:59    [22081802]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 33 34 35 36 37 38 39 40 [41] 42   вперед  Ctrl
Все форумы / Delphi Ответить