Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Поиск в cxDBTreeList

Автор: androidx55
Дата сообщения: 07.07.2011 15:17
Народ нужна ваша помощь в осуществлении поиска в cxDBTreeList. Написал следующее поиск производится только до первого совпадения например в cxDBTreeList у меня есть такие названия Налог на зп , Налог НДС, Налог на ввоз и т.д. Своим поиском я попадаю в первую ноду Налог на зп и дальше поиск не осушествляется, как реализовать так, чтоб после нахождения первой записи по нажатию на Enter или другую клавишу находились и другие ноды и курсор перемещался на нее. Заранее благодарен за помощь

Код: procedure TFmStRash.SearchEditKeyPress(Sender: TObject; var Key: Char);
var
Node: TcxTreeListNode;
NodeLast: TcxTreeListNode;
begin

Node := ClassTree.FindNodeByText(SearchEdit.Text, NameColumn , nil, False, True);
if Node <> nil then
begin
Node.Expanded := True;
Node.Focused := True;
NodeLast:=Node ;
if Key = #13 then
begin
Node := ClassTree.FindNodeByText(SearchEdit.Text, NameColumn , NodeLast, False, True);
Node.Expanded := True;
Node.Focused := True;
end;
end;

end;
Автор: FRALX
Дата сообщения: 07.07.2011 23:11
Как то так

Код:
TFmStRash = class(TForm)
.....
private
NodeLast : TcxTreeListNode;

NodeLast нужно сделать переменной формы иначе будете топтаться вокруг 2 записей


procedureTFmStRash.SearchTextKeyPress(Sender: TObject; var Key: Char);
var
Node,StartNode: TcxTreeListNode;
begin

Node:=nil;
if Key<>#13 then
Node:=ClassTree.FindNodeByText(SearchEdit.Text, NameColumn,nil,False,true)
else begin
Node:=ClassTree.FindNodeByText(SearchEdit.Text, NameColumn,LastNode,False,true)
end;
if Node <> nil then
begin
Node.Expanded := True;
Node.Focused := True;
LastNode:=Node.GetNext;
end;

end;

Страницы: 1

Предыдущая тема: Ошибки компиляции iserverd


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.