DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: xjhbbs
今日帖子: 9
在线用户: 17
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 zhouljun (252542) ★☆☆☆☆ -
盒子活跃会员
2004/3/12 15:01:05
标题:
我试过了,这个程序用一个按钮的话能实现,而不能自动实现,需添加什么语句啊? 浏览:1274
加入我的收藏
楼主: unit tebie;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, Grids, DBGrids, StdCtrls, Buttons;

type
  TForm6 = class(TForm)
    DBGrid1: TDBGrid;
    tv: TTreeView;
       procedure tvClick(Sender: TObject);
       procedure FormShow(Sender: TObject);
        private
    { Private declarations }
  public
    { Public declarations }
  end;
  procedure MyCreateSubNodes(tv:TTreeview);

var
  Form6: TForm6;

implementation
uses dm2,db,ADODB;

{$R *.dfm}
procedure MyCreateSubNodes(tv:TTreeview);
var q1,q2:tadoquery;
    i:integer;
begin

 q1:=tadoquery.Create(nil);
 q2:=tadoquery.Create(nil);
 q1.Connection:=dm.ADOConnection1;
 q2.Connection:=dm.ADOConnection1;
 q1.SQL.Add('select * from one');
 q2.SQL.Add('select * from two');
 q1.Open;
 q2.Open;
 q1.First;
 for i:=0 to q1.RecordCount-1 do
 begin
 tv.Items.AddChild(tv.Selected,q1.FieldValues['FirstName']);
  //----加入二级目录开始
 while not q2.Eof do
 begin
  if q2.FieldValues['firstID']=q1.FieldValues['ID'] then
  tv.Items.AddChild(tv.TopItem,q2.FieldValues['secondname']);
  q2.Next;
 end;
 q1.Next;
 end;
 q1.Close;
 q2.Close;
 q1.Free;
 q2.Free;
 tv.TopItem.Expanded:=true;
end;


procedure Tform6.tvClick(Sender: TObject);
begin
with dm.ADOQuery1 do
begin
  close;
  sql.Clear;
  sql.Text:='select * from content where secon_dname='+quotedstr(tv.Selected.Text);
  open;
end;
end;

procedure Tform6.FormShow(Sender: TObject);
begin
MyCreateSubNodes(tv);
dm.ADOQuery1.SQL.Text:='select * from content';
dm.ADOQuery1.Open;
end;

end.
----------------------------------------------
我是菜鸟!
作者:
男 ddzhouqian (007) ★☆☆☆☆ -
盒子活跃会员
2004/3/12 16:34:53
1楼: 再加一个tadoquery?
----------------------------------------------
-按此在新窗口浏览图片
作者:
男 easykey (悠游) ★☆☆☆☆ -
盒子活跃会员
2004/3/12 16:42:59
2楼: 能不能把提问说得清晰些?
----------------------------------------------
按此在新窗口浏览图片
男儿贵展平生志,为国输忠合天地。甲穿虽则失黄金,剑缺犹能生紫气。塞草萋萋兵士苦,胡虏如今勿胡虏。封侯十万始无心,玉关生入君看取。

敬请光临 学海Delphi站
  http://delphi.studysea.net
学海无涯,让我们共同成长!
作者:
男 zhouljun (252542) ★☆☆☆☆ -
盒子活跃会员
2004/3/15 9:02:54
3楼: 在这个程序中我用了一个三个都是自定义的函数
procedure tvClick(Sender: TObject);来控制dbgrid
procedure MyCreateSubNodes(tv:TTreeview);来控制treeview
procedure FormShow(Sender: TObject);来控制自动运行上面两个进程!
但为什么不行!我用添加一个按钮分别实现procedure tvClick(Sender: TObject);
procedure MyCreateSubNodes(tv:TTreeview);都行的!

----------------------------------------------
我是菜鸟!
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS