listview拖动标题列后如何保存 ( 积分: 100 )

  • 主题发起人 主题发起人 ronanlin
  • 开始时间 开始时间
R

ronanlin

Unregistered / Unconfirmed
GUEST, unregistred user!
在listview中拖动标题列,要把拖动后的位置保存到数据库,请问如何实现,主要是如何获取拖动后的标题列的index
 
Tlistitem这个对象有 Left/Top这个属性. 这样你会做了吧
 
to kk2000
能给个例子吗?
 
使用Columns.Items[x].Index=你想放的位置即可

eg:listview中有2列
Columns.Items[1].Index=0即可把第2两放到第1列去
procedure TForm1.Button1Click(Sender: TObject);
begin
ListView1.Columns.Items[1].Index :=0;
end;
你可以试试看
 
我去年做了一个类似的程序(DLL),要么我发给你代码?只是不知道你的信箱
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, DBTables;

type
TForm1 = class(TForm)
ListView1: TListView;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
stream: TFileStream;
begin
stream:=TFileStream.Create('c:/abc.cfg', fmCreate or fmOpenWrite);
try
stream.WriteComponent(ListView1);
finally
stream.Free;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
stream: TFileStream;
begin
stream:=TFileStream.Create('c:/abc.cfg', fmOpenRead);
try
stream.ReadComponent(ListView1);
finally
stream.Free;
end;
end;

end.
 
ronanlin@163.com
 
for i:= 0 to Grd.Columns.Count - 1 do begin
FldName := Grd.Columns.FieldName;//判断列属性,i为列的index
...
 
没有其他了吗?没有其他了吗?
 
ronanlin@163.com
 

Similar threads

D
回复
0
查看
802
DelphiTeacher的专栏
D
D
回复
0
查看
747
DelphiTeacher的专栏
D
D
回复
0
查看
696
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部