TreeView에서..
Child를 추가할때
Parents를 루핑돌려서..찾아..추가하고 있거든요.
그러다보니 시간이 너무 걸려서요.
그럼 방법없이
바로 추가할 Parents를 찾을 수 있는 방법은 없을까요?
For ii := 0 to TV1.Items.Count do
begin
if TV1.Items.Item[ii].Text = Qcode.FieldByName('ACCT_UPNAME3').AsString then
TV1.Items.AddChild(TV1.Items.Item[ii],Qcode.FieldByName('ACCT_UPNAME2').AsString);
end;
이런식으로 하고 있답니다..
답변부탁드립니다.
TStream과 TStrings으로 바꾼후 선택하는건데요.
예입니다. 다른 방법있으면 리플로 달아주세요
StringReplace이 시간을 많이 잡아먹네요.
많은양일때는 루프로 돌린것과는 차이가 좀 있을듯.....
Edit1의 문자에 해당하는 노드에 Edit2의 문자인 노드를 생성합니다.
procedure TForm1.Button2Click(Sender: TObject);
var
Tree_Stream : TStream;
TS : TStrings;
NewIndex : integer;
begin
Tree_Stream := TstringStream.Create('');
TreeView1.SaveToStream(Tree_Stream);
Tree_Stream.Position := 0;
TS := TStringList.Create;
TS.LoadFromStream(Tree_Stream);
TS.Text := StringReplace(TS.Text, #9, '', [rfReplaceAll]);
NewIndex := TS.IndexOf(Edit1.Text);
if NewIndex >=0 then
TreeView1.Items.AddChild(TreeView1.Items.Item[NewIndex],Edit1.Text);
TS.Destroy;
Tree_Stream.Destroy;
end;