新加坡互联网公司排名,郑州网站seo优化,网站开发方式有哪些,深圳注册公司条件treeview自动从表中添加标题和列值做目录的方法2#xff0c;该方法是借鉴万一老师的 http://www.cnblogs.com/del/archive/2008/05/15/1114450.html 首先界面上添加treeview组件#xff0c;然后在treeview的onchange事件里这样写#xff1a; 因为要用到定义个过程#xff0…treeview自动从表中添加标题和列值做目录的方法2该方法是借鉴万一老师的 http://www.cnblogs.com/del/archive/2008/05/15/1114450.html 首先界面上添加treeview组件然后在treeview的onchange事件里这样写 因为要用到定义个过程需要在接口声明里引用 private{ Private declarations }/// summary/// 刷新左侧treeView/// /summaryprocedure RefreshLeftTree(Sender: TObject);public{ Public declarations }end; procedure TForm3.RefreshLeftTree(Sender: TObject);
vari: Integer;node: TTreeNode;List: TStringList;s,fieldName: string;
begin//刷新前全部清空原来的列表TreeView1.Items.Clear;{建立 List}List : TStringList.Create;List.Sorted : True; {指定排序}List.Duplicates : dupIgnore; {避免重复}{把数据加入到 TreeView}for i : 0 to frmDataPool.qry需要做的事.FieldDefs.Count - 1 dobeginfieldName : frmDataPool.qry需要做的事.FieldDefs[i].Name;if not ID说明附件事情.Contains(fieldName) thenbeginnode : TreeView1.Items.Add(nil, fieldName); {字段名}{为避免数据重复, 先把数据给 List}List.Clear;frmDataPool.qry需要做的事.First;while not frmDataPool.qry需要做的事.Eof dobeginList.Add(frmDataPool.qry需要做的事.FieldByName(fieldName).AsString);frmDataPool.qry需要做的事.Next;end;{把 List 中的数据加入到 TreeView}for s in List dobeginTreeView1.Items.AddChild(node, s);end;end;end;List.Free;
end; 且增加新记录后也要刷新下目录才合理 procedure TForm3.Button3Click(Sender: TObject);
begin
Form4.ShowModal;//showmodal可以确保这个窗口关闭后才执行下一步
//增加后刷新下
RefreshLeftTree(Sender);
end; onchange的触发事件代码 procedure TForm3.TreeView1Change(Sender: TObject; Node: TTreeNode);
beginif Node.Parent nil thenbegin{下面的 Filter 其实就是 SQL 查询语句, 如果用其他数据库替换就是}frmDataPool.qry需要做的事.Filter : Node.Parent.Text Node.Text ;frmDataPool.qry需要做的事.Filtered : True;end else frmDataPool.qry需要做的事.Filtered : False; {选字段名时取消过虑}
end; 转载于:https://www.cnblogs.com/chuangyiyuan/p/6042193.html