如题,就是我要隐藏一个或者多个ID号在ListView中,类似于不可见,但是只要可以改变该列的宽度,那么就可以看到该隐藏列的信息!
盼解!在先等待中.................
盼解!在先等待中.................
解决方案 »
- ■■现金200元奖励!挑战自我!!问win2003server注册表高手!!
- 如何判断sql server2000字段类型为image的值是否有数据
- 求代码
- 如何判断sql数据库中是否存在某个表?
- 用面向對象編程系統分析時是否需要《程序邏輯流程圖》?散分!
- 修改可执行程序
- @@@@@是ADO的错吗?还有......@@@@@
- 我要编一个,加减乘除的程序请问怎么编
- 能不能把MS sql server数据源打包到delphi应用程序的安装程序里面,而不安装sqlServer
- 在delphi5.0中如何使用api循环播放midi音乐,avi动画?
- 怎么打印STRINGGRID中的内容??
- 如何在TreeView控件加CheckBox控件
ListView.Columns.Clear;
Add_Columns('',20);
...
ListView.Columns[0].MaxWidth := 0;
ListView.Columns.EndUpdate;
我的目的就是要隐藏某列(Columns)!并且如果去拉伸该列(即列宽改变)也不可见!to zaiai2003(疾驰者):
呵呵,没有那么简单,如果设为0,那么,该列仍可见,另外,我要求拉伸该列(即宽度改变)也不可见!盼解!高分相赠!
ListView1.Columns[i].MinWidth := 0;
ListView1.Columns[i].MaxWidth := 1;
ListView1.Columns[i].Width := 0;
还原显示:
ListView1.Columns[i].MaxWidth := 设置宽度;
ListView1.Columns[i].Width := 设置宽度;
你的办法我也知道,可是效果不太理想,也就是说,假如有多个(五六个在一起的),那样的话,只要一拉伸,那就有点不好看了(特别的明显)还有没有更好的办法!
Ondata上处理就OK了
忘了怎么写关注一下
忘了怎么写关注一下
PointRecord = record
Hide_Code: String;
Hide_Name: String;
{...}
end;
type
TForm1 = class(TForm)
ListView1: TListView;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure ListView1Click(Sender: TObject);
private
{ Private 宣言 }
public
procedure Add_Columns(ColName: String; ColWidth: integer);
procedure Write_ListItem(Line: integer);
procedure Init_ListView;
{ Public 宣言 }
end;var
Form1: TForm1;implementation
{$R *.dfm}//①放入数据時、分可視和不可視二部分
procedure TForm1.Write_ListItem(Line: integer); //Insert a row
var
ListItem: TListItem;
j: integer;
pr: TPointRecord;
begin
ListItem := ListView1.Items.Add; //可見部分
ListItem.Caption := 'Caption' + IntToStr(Line);
for j := 1 to 4 do begin
ListItem.SubItems.Add('Sub:'+IntToStr(Line)+IntToStr(j));
end; new(pr); //Hide部分
pr.Hide_Code := 'Hide_Code: ' + IntToStr(Line);
pr.Hide_Name := 'Hide_Name: ' + IntToStr(Line);
ListItem.Data := pr;
end;//②表示不可視部分
procedure TForm1.ListView1Click(Sender: TObject);
var
pr: TPointRecord;
begin
pr := ListView1.Selected.Data;
showMessage(pr.Hide_Code + ' ' + pr.Hide_Name);
end;procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
ListView1.ViewStyle := vsReport;
ListView1.RowSelect := true;
Init_ListView; //Header ListView1.Items.BeginUpdate;
for i := 1 to 100 do begin
Write_ListItem(i); //循環
end;
ListView1.Items.EndUpdate;
end;procedure TForm1.Init_ListView; //初始Header
var i: integer;
begin
ListView1.Columns.BeginUpdate;
ListView1.Columns.Clear;
for i:=0 to 4 do begin
Add_Columns('column'+IntToStr(i), 50);
end;
ListView1.Columns.EndUpdate;
end;procedure TForm1.Add_Columns(ColName: String; ColWidth: integer);//Add a column
var
ListCol: TListColumn;
begin
ListCol := ListView1.Columns.Add;
ListCol.Caption := ColName;
ListCol.Width := ColWidth;
end;
用到TListView和TButton二個控件、然後把内容COPY進去、
執行一下、就会明白...