我写了一个函数 用来实现动态创建tabsheet listview , tabsheet用来显示房间类型,listview 用来显示数据库中的房间名称
这个实现了 函数如下 :
function TfrmKTGL.addlistview: boolean;
begin
with adoquery do
begin
close;
sql.Clear ;
sql.Text:='select 类型说明 from 房间台号类型表' ;
open;
while not Eof do
begin
NewTab:=TRZTabSheet.Create(self);
NewTab.PageControl:=RzPageControl1;
newtab.TabVisible:=true;
NewTab.Caption:=trim(fieldByName('类型说明').AsString);
Next ;
RzPageControl1.ActivePage:=NewTab; listview:=TRZlistview.Create(self);
listview.Visible:=true;
listview.Align:=alclient;
listview.LargeImages:=ImageList1;
NewTab.InsertControl(listview); Listview.Items.Clear;
with TLCYGLXT.ADOFJTHGL do
begin
Filtered:=false;
Filter:=Format('类型说明=%S ',[QuotedStr(''+NewTab.Caption+'')]);
Filtered:=true;
Open ;
First ;
while not TLCYGLXT.ADOFJTHGL.Eof do
begin
listview.Items.Add.Caption:=trim(FieldByName('房台名称').AsString);
Next;
end;
Filtered:=false;
end;
end;
end;
RzPageControl1.ActivePageIndex:=0;
lb_type.Caption:=RzPageControl1.ActivePage.Caption;//显示房台类型
end;问题是:现在我想单击listview的某个房间时 则显示这个房间的相关信息 如房间的名称 可是listview是动态创建的 ,
我也有试自己写个事件如
procedure TfrmKTGL.ListViewdblClick(Sender: TObject);
var list:TListItem;
begin
List:=listView.Selected;
if list<>nil then
begin
lb_type.Caption:=listview.Selected.Caption ;
end;
end;
然后在RzPageControl1的ondblclick引用 ListViewdblClick事件 还是不行。
请高手指教
这个实现了 函数如下 :
function TfrmKTGL.addlistview: boolean;
begin
with adoquery do
begin
close;
sql.Clear ;
sql.Text:='select 类型说明 from 房间台号类型表' ;
open;
while not Eof do
begin
NewTab:=TRZTabSheet.Create(self);
NewTab.PageControl:=RzPageControl1;
newtab.TabVisible:=true;
NewTab.Caption:=trim(fieldByName('类型说明').AsString);
Next ;
RzPageControl1.ActivePage:=NewTab; listview:=TRZlistview.Create(self);
listview.Visible:=true;
listview.Align:=alclient;
listview.LargeImages:=ImageList1;
NewTab.InsertControl(listview); Listview.Items.Clear;
with TLCYGLXT.ADOFJTHGL do
begin
Filtered:=false;
Filter:=Format('类型说明=%S ',[QuotedStr(''+NewTab.Caption+'')]);
Filtered:=true;
Open ;
First ;
while not TLCYGLXT.ADOFJTHGL.Eof do
begin
listview.Items.Add.Caption:=trim(FieldByName('房台名称').AsString);
Next;
end;
Filtered:=false;
end;
end;
end;
RzPageControl1.ActivePageIndex:=0;
lb_type.Caption:=RzPageControl1.ActivePage.Caption;//显示房台类型
end;问题是:现在我想单击listview的某个房间时 则显示这个房间的相关信息 如房间的名称 可是listview是动态创建的 ,
我也有试自己写个事件如
procedure TfrmKTGL.ListViewdblClick(Sender: TObject);
var list:TListItem;
begin
List:=listView.Selected;
if list<>nil then
begin
lb_type.Caption:=listview.Selected.Caption ;
end;
end;
然后在RzPageControl1的ondblclick引用 ListViewdblClick事件 还是不行。
请高手指教
解决方案 »
- 求一个识别验证码的程序(顶者有分)
- wwdbgrid怎么程序代码控制增加列啊?
- 怎么用DELPHI调用操作系统中的浏览器?
- 一个操作系统[OS]调用失败 在线等。。
- 大家好:需求分析!~~~~
- 在mathod中有时候会有inherited mathod……
- Help me!!! Help......__^^___(来者有分)
- 多线程如何访问外部变量
- 希望不算晚!Delphi6 手册组的第三次开张。
- 如何往DHTMLEDIT里添加FLASH 动画呢 (可以调整大小,文件名属性$^^&$%^#%^^@#%#$@%@#%$#%@$#@$!!#@!#!#!@#$#!!!!!!@$@!#!
- 请大家讨论一下:socket通信和ftp通信的优点与缺点;说得好的给分
- 如何用delphi的webbrowser在<textarea></textarea>中提交内容?????
RzPageControl1.ondblclick:=ListViewdblClick;
的后面添加
listview.OndblClick = MyListViewdblClick;procedure TForm1.MyListViewdblClick(Sender: TObject);
begin
if TListView(Sender).Selected <> nil then
begin
lb_type.Caption := TListView(Sender).Selected.Caption ;
end;
end;