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

» CxTreeList. Проблема.

Автор: fynjah
Дата сообщения: 11.11.2009 13:01
Помогите, пожалуйста. Искал по форумам и ничего конкретного не нашел.

суть: Надо добавить в список н-ое количество строк(узлов), но что б они все были разными. А в случае если одинаковые - добавить Child. Эдакое распределние по типам.
Ессесно что б узнать "есть ли такого же типа" - проходим от 0 до Count-1 по всем корневым узлам( items[i] ) и сравниваем.


проблема в том, что таким макаром узлы добавляются до 2-х. после двух, при проверке вылетает аксес виолэйшн.

добавляю просто:

Код:
procedure AddNode;
var node, subnode:Tcxtreelistnode;
i:integer;
begin
for i:=0 to cxTreelist1.count-1 do
begin
if cxtreelist1.items[i].values[0]=edit1.text //вот в этом месте, при 2м - 3м прохождении выдает аксес виолэйшн в items[i].
then
begin
node:=cxTreelist1.items[i];
subnode:=node.add;
subnode.values[0]:=Edit2.text;
end
else
begin
node:=cxTreelist1.add;
node.values[0]:=edit1.text;
subnode:=node.add;
subnode.values[0]:=edit2.text;
end;
end;
end;
Автор: dustypup
Дата сообщения: 11.11.2009 17:48
Если я правильно понял "суть", то как то так:


Код:
procedure AddNode;
var
node, subnode:Tcxtreelistnode;
i: integer;
begin
node := nil;
for i := 0 to cxTreelist1.Count - 1 do
if cxTreelist1.Items[i].Values[0] = Edit1.Text then
begin
node := cxTreeList1.Items[i];
Break;
end;

if node = nil then
begin
node := cxTreeList1.Add;
node.Values[0] := Edit1.text;
end;

subnode := node.AddChild;
subnode.Values[0] := Edit2.text;
end;
Автор: data man
Дата сообщения: 11.11.2009 21:03
fynjah
И зачем нужно было создавать новый топик ?
Уже есть Использование DevExpress
Там быстрее помогут.

Страницы: 1

Предыдущая тема: Декларация по налогу НДС


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