CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 211

211

Chương 6: Windows Form

Hình 6.5 ComboBox có tính năng auto-complete

10.

10.

S p x p

ắ ế

S p x p

ắ ế

ListView

ListView

theo c t b t kỳ

ộ ấ

theo c t b t kỳ

ộ ấ

Bạn cần sắp xếp một

ListView

, nhưng phương thức nội tại

ListView.Sort

chỉ sắp

xếp căn cứ trên cột đầu tiên.

Tạo một hiện thực cho giao diện

System.Collections.IComparer

để có thể sắp xếp

các đối tượng

ListViewItem

(kiểu

IComparer

có thể sắp xếp dựa trên bất kỳ tiêu

chuẩn nào bạn muốn). Thiết lập thuộc tính

ListView.ListViewItemSorter

với một

đối tượng của kiểu

IComparer

trước khi gọi phương thức

ListView.Sort

.

ListView

cung cấp phương thức

Sort

để sắp các item theo thứ tự alphabet dựa trên phần text

trong cột đầu tiên. Nếu muốn sắp xếp dựa trên các giá trị cột khác hoặc sắp thứ tự các item
theo bất kỳ cách nào khác, bạn cần tạo một hiện thực tùy biến của giao diện

IComparer

.

Giao diện

IComparer

định nghĩa một phương thức có tên là

Compare

, phương thức này nhận

vào hai đối tượng và xác định đối tượng nào sẽ được sắp trước. Lớp tùy biến

ListViewItemComparer

dưới đây hiện thực giao diện

IComparer

và cấp thêm hai thuộc tính:

Column

Numeric

. Trong đó,

Column

cho biết cột nào sẽ được sử dụng để sắp xếp; và

Numeric

là một cờ

Boolean

, được thiết lập là

true

nếu muốn thực hiện việc so sánh theo thứ tự số thay

vì so sánh theo thứ tự alphabet.

using System;

using System.Collections;

using System.Windows.Forms;

public class ListViewItemComparer : IComparer {

private int column;

private bool numeric = false;

public int Column {

get {return column;}

set {column = value;}

}

public bool Numeric {

get {return numeric;}

set {numeric = value;}

}

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.