H
hsgrass
Unregistered / Unconfirmed
GUEST, unregistred user!
// filter的时候使用ado,bde,和clientdataset都正确但使用kbmmemtable的时候不正确,因为它的setrecno在FILTER的时候设置recno不正确.5.51版本的.
有没有其它办法不使用filter而建立树?不修改表结构的情况下
谢谢
procedure createtree(ds: tdataset;
nodes: ttreenodes;
rootnode: ttreenode);
var
i: integer;
n: ttreenode;
fl: string;
begin
if ds.IsEmpty then
exit;
fl := ds.Filter;
ds.Filter := format('parentid = %d', [ds.FieldByName('mainmenu_id').AsInteger]);
for i := 1 to ds.RecordCountdo
begin
form1.mmo1.Lines.Add(format('reccount=%d, filter=%s', [ds.RecordCount, ds.Filter]));
ds.RecNo := i;
n := nodes.AddChild(rootnode, ds.fieldbyname('caption').AsString);
createtree(ds, nodes, n);
end;
ds.Filter := fl;
end;
有没有其它办法不使用filter而建立树?不修改表结构的情况下
谢谢
procedure createtree(ds: tdataset;
nodes: ttreenodes;
rootnode: ttreenode);
var
i: integer;
n: ttreenode;
fl: string;
begin
if ds.IsEmpty then
exit;
fl := ds.Filter;
ds.Filter := format('parentid = %d', [ds.FieldByName('mainmenu_id').AsInteger]);
for i := 1 to ds.RecordCountdo
begin
form1.mmo1.Lines.Add(format('reccount=%d, filter=%s', [ds.RecordCount, ds.Filter]));
ds.RecNo := i;
n := nodes.AddChild(rootnode, ds.fieldbyname('caption').AsString);
createtree(ds, nodes, n);
end;
ds.Filter := fl;
end;