|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
копирование и вставка записей в cxDBTreelist
Здравствуйте, уважаемые эксперты!
Есть cxDbTreeList->ClientDataSet->данные из cds файла. Режим выделения записей cxDbTreeList - Multiselect. Как скопировать и вставить несколько выделенных записей в тот же cxDbTreeList? Пробовал следующим способом: //Заполнение массива buffer индексами выделенных узлов cxDbTreeList Код:
procedure InptData; var I: Integer; begin SetLength(buffer,300); for I := 0 to cxDbTreeList1.SelectionCount-1 do begin buffer[i]:=inttostr(cxDBTreeList1.Selections[i].AbsoluteIndex); ListBox1.Items.Add(buffer[i]) end; end; // Теперь вставляем записи с соответствующими данными выделенных узлов (с сопоставленными индексами из массива buffer) procedure PasteData; var j: Integer; begin if Length(buffer)=0 then exit else for j := 0 to cxDbTreeList1.SelectionCount-1 do begin CL.AppendRecord([nil (здесь ключевое поле ID),ParentID, ==>cxDBTreeList1.Columns[2].Values[Strtoint(buffer[j])]]); ProgressBar.Position:=j; end; buffer:=NIL; end; Это работает, но только не для записей имеющих "родителей", копируется запись на строку ниже копируемой. Помогите пожалуйста разобраться или подскажите иной способ. Последний раз редактировалось Admin, 30.07.2010 в 10:27. |