我写了一个函数 用来实现动态创建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事件 还是不行。
请高手指教
解决方案 »
- 请问这个函数如何让DELPHI制作成DLL让其它语言调用?
- 简单问题(送40分)
- 界面漂亮一点的控键哪里可以下载
- 高手们!ADVGRID6怎们使用啊?[悬赏100分]
- mid子窗口的排列与调用,即把已经存在的10个mid子窗口之中一个调到最前面来,怎么写?
- paradox能否当分布式数据库系统用
- 求含有锐化(最好还有二值化、滤波、增强)等功能的delphi图像处理的原代码 (可加分)
- 请问DELPHI中如何嵌入C语言程序??
- 菜鸟请教
- TDateTime类型数据以及TDatetimePicker控件的简单问题!
- 请大家讨论一下: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;