当前位置:首页 > 网络编程 > 软件语言 > DELPHI > Listview中实现点击栏目标题排序

Listview中实现点击栏目标题排序

点击次数:44 次 发布日期:2008-11-09 08:38:23 作者:源代码网
源代码网推荐
广告载入中
请看下面的代码:listview的columns属性加4个列项,viewstyle属性设为vsReport,smallimage属性对应imagelist。imagelist加载图标。query1对应与parts.db表。
源代码网推荐
源代码网推荐 这段代码能实现升序排列,降序你稍作改动即可。如果是按字段数据类型排序则可用sql语句实现。另外这段代码可实现响应双击第一列下的图标。
源代码网推荐
源代码网推荐 unit Unit1;
源代码网推荐
源代码网推荐 interface
源代码网推荐
源代码网推荐 uses
源代码网推荐 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
源代码网推荐 StdCtrls, ComCtrls, ImgList, Db, DBTables;
源代码网推荐
源代码网推荐 type
源代码网推荐 TForm1 = class(TForm)
源代码网推荐 ListView1: TListView;
源代码网推荐 Button1: TButton;
源代码网推荐 ImageList1: TImageList;
源代码网推荐 Query1: TQuery;
源代码网推荐 procedure Button1Click(Sender: TObject);
源代码网推荐 procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
源代码网推荐 procedure ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
源代码网推荐 Data: Integer; var Compare: Integer);
源代码网推荐 procedure ListView1DblClick(Sender: TObject);
源代码网推荐 procedure ListView1MouseDown(Sender: TObject; Button: TMouseButton;
源代码网推荐 Shift: TShiftState; X, Y: Integer);
源代码网推荐 private
源代码网推荐 mouseX, mouseY: Integer;
源代码网推荐 { Private declarations }
源代码网推荐 public
源代码网推荐 { Public declarations }
源代码网推荐 end;
源代码网推荐
源代码网推荐 var
源代码网推荐 Form1: TForm1;
源代码网推荐 var ColumnToSort: Integer;
源代码网推荐 implementation
源代码网推荐
源代码网推荐 {$R *.DFM}
源代码网推荐
源代码网推荐 procedure TForm1.Button1Click(Sender: TObject);
源代码网推荐 var
源代码网推荐 int:integer;
源代码网推荐 begin
源代码网推荐 listview1.Items.Clear;
源代码网推荐 int:=0;
源代码网推荐 with query1 do
源代码网推荐 begin
源代码网推荐 close;
源代码网推荐 sql.Clear;
源代码网推荐 sql.add("select partno,description,onorder,cost from parts");
源代码网推荐 prepare;
源代码网推荐 open;
源代码网推荐 first;
源代码网推荐 end;
源代码网推荐 while not query1.Eof do
源代码网推荐 begin
源代码网推荐 listView1.Items.Add.Caption:= query1.fieldbyname("partno").asstring;
源代码网推荐 ListView1.Items.Item[int].ImageIndex:=0;
源代码网推荐 ListView1.Items.Item[int].SubItems.Append( query1.fieldbyname("description").asstring);
源代码网推荐 ListView1.Items.Item[int].SubItems.Append( query1.fieldbyname("onorder").asstring);
源代码网推荐 ListView1.Items.Item[int].SubItems.Append( query1.fieldbyname("cost").asstring);


源代码网推荐 int:=int 1;
源代码网推荐 query1.Next;
源代码网推荐 end;
源代码网推荐
源代码网推荐 end;
源代码网推荐
源代码网推荐
源代码网推荐 procedure TForm1.ListView1ColumnClick(Sender: TObject;
源代码网推荐 Column: TListColumn);
源代码网推荐 begin
源代码网推荐 ColumnToSort := Column.Index;
源代码网推荐 (Sender as TCustomListView).AlphaSort;
源代码网推荐 end;
源代码网推荐
源代码网推荐 procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
源代码网推荐 Data: Integer; var Compare: Integer);
源代码网推荐 var
源代码网推荐 ix: Integer;
源代码网推荐 begin
源代码网推荐 if ColumnToSort = 0 then
源代码网推荐 Compare := CompareText(Item1.Caption,Item2.Caption)
源代码网推荐 else begin
源代码网推荐 ix := ColumnToSort - 1;
源代码网推荐 Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
源代码网推荐 end;
源代码网推荐 end;
源代码网推荐 procedure TForm1.ListView1DblClick(Sender: TObject);
源代码网推荐 var
源代码网推荐 Item: TListItem;
源代码网推荐 begin
源代码网推荐 Item := ListView1.GetItemAt(mouseX, mouseY);
源代码网推荐 if (Item <> nil) then
源代码网推荐 begin
源代码网推荐 beep();
源代码网推荐 //在这可写些响应双击图标代码。
源代码网推荐 end;
源代码网推荐 end;
源代码网推荐
源代码网推荐 procedure TForm1.ListView1MouseDown(Sender: TObject; Button: TMouseButton;
源代码网推荐 Shift: TShiftState; X, Y: Integer);
源代码网推荐 begin
源代码网推荐 mouseX := X;
源代码网推荐 mouseY := Y;
源代码网推荐 end;
源代码网推荐
源代码网推荐 end.


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华