如果我想把Treeview展开的时候,节点显示一种图标,如果折叠起来的时候,节点显示另一种图标,应该怎么做?
解决方案 »
- sql
- 用RBuilder做一个这样的报表?有什么好方法,谢谢!
- 济南大富翁注意了,愿意做兼职的请和我联系
- delete()问题
- 用delphi编写的dll为什么在vb中用不来?
- 如何有效的截取字符串??
- 想在程序启动时显示一个form,启动完毕之后关闭该form,如何实现?谢谢
- Tbitmap的canvas属性是不是线程安全的?
- 默认报表预览窗体有功能“保存为文件”和“打开文件”,我用自定的预览窗体,如何实现
- 关于TEECHAART。使用ADO时,用ODBC、JET351在X、Y、LABEL中可用字符(如上海、北京等),但JET4.0不可(只有数值、日期)。why?
- 100分求intraweb5.1.22!!!!
- 初学小问题!!!在线等待!!!
TableNameValue: String; Sender: TTreeView; ImageValue: TImageList);
var
PNode , CNode : TTreeNode;
I : Integer;
begin
Sender.Items.Clear;
Sender.Images := ImageValue;
With DataModuleFrm.Temp1ADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add('Select Distinct ' + MFieldStr + ' from ' + TableNameValue);
Prepared;
Open;
First;
While Not Eof do
begin
PNode := Sender.Items.AddChild(Nil,Trim(FieldByName(MFieldStr).AsString));
PNode.ImageIndex := 0;
if PNode.Level = 1 then
begin
PNode.ImageIndex := 2;
Pnode.StateIndex := 4;
end; {}
Next;
end;
end;
With DataModuleFrm.LSB_ADOQuery do
begin
Sender.SetFocus;
For I := Sender.Items.Count -1 DownTo 0 do
begin
PNode := TTreeNode.Create(Nil);
PNode := Sender.Items[I];
if Active then
Active := False;
SQL.Clear;
SQL.Add('Select ' + DFieldStr + ' from ' + TableNameValue + ' Where ' +
MFieldStr + ' = ' + #39 + Sender.Items[I].Text + #39);
Prepared;
Open;
First;
While Not Eof do
begin
CNode := Sender.Items.AddChild(PNode,Trim(FieldByName(DFieldStr).AsString));
CNode.ImageIndex := 1;
if PNode.Level = 1 then
begin
PNode.ImageIndex := 2;
Pnode.StateIndex := 4;
end;{}
Next;
end;
end;
end;
end;
---------------------
沉沦中......