執行結果就像這樣。
不使用第一排進行排序,而是使用第二或其他排來做排序。
在程式碼中加入以下class | 複製程式碼(Copy to clipboard) |
class ListViewItemComparer : System.Collections.IComparer
{
private int col;
public ListViewItemComparer()
{
col = 0;
}
public ListViewItemComparer(int column)
{
col = column;
}
public int Compare(object x, object y)
{
return String.Compare(((ListViewItem)x).SubItems[col].Text, ((ListViewItem)y).SubItems[col].Text);
}
}
以下為範例程式 | 複製程式碼(Copy to clipboard) |
private void button4_Click(object sender, EventArgs e)
{
listView1.View = View.Details;
listView1.Columns.Add("Column 1");
listView1.Columns.Add("Column 2");
listView1.Items.Add("Item0");
listView1.Items.Add("Item1");
listView1.Items.Add("Item2");
listView1.Items[0].SubItems.Add("1");
listView1.Items[1].SubItems.Add("0");
listView1.Items[2].SubItems.Add("2");
listView1.ListViewItemSorter = new ListViewItemComparer(1); //使用Column 2進行排序
listView1.Sort();
}
沒有留言:
張貼留言