网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
Listview中实现点击栏目标题排序
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

请看下面的代码: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: TLis
  • 上一篇资讯: 显示DLL可导出的函数
  • 下一篇资讯: 动态贺卡EXE生成器
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号