問Control (VCL) |
尚未結案
|
GDMichael
一般會員 發表:27 回覆:36 積分:12 註冊:2004-10-13 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
|
GDMichael
一般會員 發表:27 回覆:36 積分:12 註冊:2004-10-13 發送簡訊給我 |
|
GDMichael
一般會員 發表:27 回覆:36 積分:12 註冊:2004-10-13 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
|
GDMichael
一般會員 發表:27 回覆:36 積分:12 註冊:2004-10-13 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: Sorry,已經知道如何去做,但我想另外附加一條問題?ListView可以有sorting? 請問是怎樣做的?設定ListView的SortType屬性, 細節如下: TListView.SortType Determines if and how the items in the list are automatically sorted. type TSortType = (stNone, stData, stText, stBoth); property SortType: TSortType; Description Set SortType to specify the order of items in the list. If SortType is not stNone, the list items in the Items property are automatically sorted. Once a list view is sorted, the original order is lost. That is, setting the SortType back to stNone will not restore the original order of items. These are the possible values: Value Meaning stNone No sorting is done. stData Items are sorted based on the Data property of the TListItem objects. An OnCompare event handler must be provided to compare Data values. stText Items are sorted based on the Caption property of the TListItem objects. stBoth Items are sorted based on both the Data and Caption properties of the TListItem objects. The Data values are ignored unless an OnCompare event handler is provided. |
GDMichael
一般會員 發表:27 回覆:36 積分:12 註冊:2004-10-13 發送簡訊給我 |
|
GDMichael
一般會員 發表:27 回覆:36 積分:12 註冊:2004-10-13 發送簡訊給我 |
unit Unit1; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls; type
TForm1 = class(TForm)
ListView1: TListView;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn);
procedure ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
private
{ Private declarations }
public
{ Public declarations }
columntosort: INteger;
flag: boolean;
end; var
Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := ListView1.Items[0].SubItems[5];
end; procedure TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn); begin
ColumnToSort := Column.Index;
ListView1.AlphaSort;
end; procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
var
ix: Integer;
begin
//if ColumnToSort = 0 then
if flag = true then
begin
flag := false;
Compare := CompareText(Item1.Caption,Item2.Caption)
end else begin
flag := true;
Compare := -CompareText(Item1.Caption,Item2.Caption)
end;
//else begin
//ix := ColumnToSort - 1;
//Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
//end; end; end. 我不知道應該如何去設定sortStyle,我只想如果按某一個column時,我可以由字母小至大,或大至少排,當然這個sorting,不只是移動一個column,而是整條record,請問怎麼做? 另外有一個問題想問:請問有沒有方法可以像grid一樣有fix column?我想固定某一個column,讓record第一格不是data,可以嗎
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
引言: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) ListView1: TListView; Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure ListView1ColumnClick(Sender: TObject; Column: TListColumn); procedure ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); private { Private declarations } public { Public declarations } columntosort: INteger; flag: boolean; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := ListView1.Items[0].SubItems[5]; end; procedure TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn); begin ColumnToSort := Column.Index; ListView1.AlphaSort; end; procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer); var ix: Integer; begin //if ColumnToSort = 0 then if flag = true then begin flag := false; Compare := CompareText(Item1.Caption,Item2.Caption) end else begin flag := true; Compare := -CompareText(Item1.Caption,Item2.Caption) end; //else begin //ix := ColumnToSort - 1; //Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]); //end; end; end. 我不知道應該如何去設定sortStyle,我只想如果按某一個column時,我可以由字母小至大,或大至少排,當然這個sorting,不只是移動一個column,而是整條record,請問怎麼做? 另外有一個問題想問:請問有沒有方法可以像grid一樣有fix column?我想固定某一個column,讓record第一格不是data,可以嗎我不知道應該如何去設定sortStyle. 直接從IDE上設定ListView的SortStyle屬性. 我只想如果按某一個column時,我可以由字母小至大,或大至少排,當然這個sorting,不只是移動一個column,而是整條record,請問怎麼做? ListView可以攔Column被Click的事件, 你可以在攔到後, 自行做Sort的動作, ListView預設不支援這種功能 請問有沒有方法可以像grid一樣有fix column?我想固定某一個column,讓record第一格不是data,可以嗎 ListView沒有這種功能 你可以用ElTree, ElTree可以在Click Column時自動幫你Sort, 去網路Search ElTree 應該可以找到. 不過ElTree好像不支援fix column, 你自己在試試 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |