Блог


Последние записи


Теги

Информация

Delphi, DevExpress, примеры, решения

Фильтр по тегу: tcxtreelist


TcxTreeList - цикл по выделенным узлам

Как пройтись циклом по выделенным узлам TcxDBTreeList?


var
  I, d: Integer;
begin
  for I := 0 to pred(dbTree.SelectionCount) do
    d := TcxDBTreeListNode(dbTree.Selections[i]).KeyValue;


procedure TForm1.Button1Click(Sender: TObject);
var
  ANode: TcxTreeListNode;
begin
  cxTreeList1.BeginUpdate;
  ANode := cxTreeList1.Root.getFirstChild;
  while ANode <> nil do
  begin
    if ANode.Values[cxTreeList1Column1.ItemIndex] = 'Value 2' then
      ANode.Values[cxTreeList1Column2.ItemIndex] := 'Value 5';

    ANode := ANode.GetNext;
  end;
  cxTreeList1.EndUpdate;
end;
добавлено: 07 май 15 просмотры: 1697, комментарии: 1



TcxTreeList - фильтрация

Фильтрация Nod`ов в TcxTreeList/TcxDBTreeList

У Datacontroller`а есть Filter, но можно использовать другой способ.
Скрывать/отображать узлы в цикле с помощью свойства TcxTreeListNode.Visible

Примеры
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  ANode: TcxTreeListNode;
begin
  for I := 0 to cxDBTreeList1.AbsoluteCount - 1 do
  begin
    ANode := cxDBTreeList1.AbsoluteItems[I];
    if ANode.Values[cxDBTreeList1FilterColumn.ItemIndex] = 2 then
      ANode.Visible := false;
  end;
end;


procedure TForm1.Button2Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to cxDBTreeList1.AbsoluteCount - 1 do
    cxDBTreeList1.AbsoluteItems[I].Visible := true;
end;
добавлено: 17 авг 13 просмотры: 2302, комментарии: 0



Цикл по TcxDBTreeList

Примеры, как выполнить цикл по всем узлам дерева TcxDBTreeList.


procedure TForm1.cxButton1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to cxDBTreeList1.AbsoluteCount - 1 do
  begin
    if cxDBTreeList1.AbsoluteItems[I].HasChildren and (cxDBTreeList1.AbsoluteItems[I].CheckState = cbsChecked) then
      ShowMessage(VarToStr(cxDBTreeList1.AbsoluteItems[I].Values[0]));
  end;
end; 

взято отсюда: http://forum.ru-board.com/topic.cgi?forum=33&topic=10884&start=4780#16



Ещё примеры
  vNode := TcxDBTreeListNode(tree.Root);

  while vNode <> nil do
    begin
      if vNode.CheckState = cbsChecked then
        id := VarToStr(vNode.KeyValue)


      vNode := TcxDBTreeListNode(vNode.GetNext);
    end;
добавлено: 11 фев 13 просмотры: 1727, комментарии: 0



Как узнать значение выделенной строки/узла в дереве TcxTreeList/TcxDBTreeList

Как получить значение выделенной строки в TcxTreeList или в TcxDBTreeList?

Проблема в том, что в последних версиях DevExpress значение свойства DataController.FocusedRecordIndex будет всегда равно -1. Надо было им как-то скрыть это свойство.

Можно использовать FocusedNode:

Var
 v: variant;
begin
  v := <TcxDBTreeList>.FocusedNode.Values[<TcxDBTreeListColumn>.ItemIndex];
добавлено: 22 ноя 12 просмотры: 2624, комментарии: 0



cxTreeList - сфокусировать программно cxTreeListNode

Как сфокусировать нужную строку (cxTreeListNode) у дерева TcxTreeList/TcxDBTreeList программно?


if <TcxTreeList>.DataController.LocateByKey(<значение ключевого поля>) then
  begin
    <TcxTreeList>.FocusedNode := <TcxTreeList>.FindNodeByKeyValue(<значение ключевого поля>);
    if <TcxTreeList>.FocusedNode <> nil then <TcxTreeList>.FocusedNode.MakeVisible;
...
...
добавлено: 08 авг 12 просмотры: 2401, комментарии: 0



Примеры для DevExpress

Здесь для себя и других я решил создать блог с примерами по Delphi и DevExpress: cxGrid, cxVerticalGrid, dxBar, и другим компонентам этой замечательной библиотеки.

Примеры не только мои.
За примеры я благодарен, в основном, пользователям форумов SQL.RU и RU-BOARD.COM.

Примеры DevExpress cxGrid cxVerticalGrid на русском

Полная документация по DevExpress на английском
https://www.devexpress.com/ClientCenter/Downloads/Documentation
добавлено: 12 июл 12 просмотры: 2843, комментарии: 1