<分区>
如何在 WinForms .NET 2.0 中按特定列号对 ListView 控件进行排序?例如我有一个名为“行号”的列,其索引为 1,我想按升序对 ListView 框中的项目进行排序。
<分区>
如何在 WinForms .NET 2.0 中按特定列号对 ListView 控件进行排序?例如我有一个名为“行号”的列,其索引为 1,我想按升序对 ListView 框中的项目进行排序。
最佳答案
MSDN 上有例子ListView.ColumnClick article : 非常简短。本质上,您编写了一个 ListViewItemComparer
并在每次单击列时使用它:
class ListViewItemComparer : IComparer
{
private int 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);
}
}
class MyForm : Form
{
// private System.Windows.Forms.ListView listView1;
// ColumnClick event handler.
private void ColumnClick(object o, ColumnClickEventArgs e)
{
this.listView1.ListViewItemSorter = new ListViewItemComparer(e.Column);
}
}
关于c# - listview C# 按特定列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8291391/