zoukankan
html css js c++ java
在Winform中如何实现ListView排序
Winform
中的
ListView
排序是一种常用的功能,下面是例子代码,放上来留个备份
using
System;
using
System.Windows.Forms;
using
System.Drawing;
using
System.Collections;
namespace
ListViewSortFormNamespace
{
public
class
ListViewSortForm : Form
{
private
ListView listView1;
public
ListViewSortForm()
{
ListViewItem listViewItem1
=
new
ListViewItem(
new
string
[]
{
"
Banana
"
,
"
a
"
,
"
b
"
,
"
c
"
}
,
-
1
, Color.Empty, Color.Yellow,
null
);
ListViewItem listViewItem2
=
new
ListViewItem(
new
string
[]
{
"
Cherry
"
,
"
v
"
,
"
g
"
,
"
t
"
}
,
-
1
, Color.Empty, Color.Red,
new
Font(
"
Microsoft Sans Serif
"
,
8.25F
, FontStyle.Regular, GraphicsUnit.Point, ((System.Byte)(
0
))));
ListViewItem listViewItem3
=
new
ListViewItem(
new
string
[]
{
"
Apple
"
,
"
h
"
,
"
j
"
,
"
n
"
}
,
-
1
, Color.Empty, Color.Lime,
null
);
ListViewItem listViewItem4
=
new
ListViewItem(
new
string
[]
{
"
Pear
"
,
"
y
"
,
"
u
"
,
"
i
"
}
,
-
1
, Color.Empty, Color.FromArgb(((System.Byte)(
192
)), ((System.Byte)(
128
)), ((System.Byte)(
156
))),
null
);
this
.listView1
=
new
ListView();
this
.listView1.Sorting
=
SortOrder.None;
this
.listView1.View
=
View.Details;
this
.listView1.Columns.Add(
new
ColumnHeader());
this
.listView1.Columns[
0
].Text
=
"
Column 1
"
;
this
.listView1.Columns[
0
].Width
=
100
;
listView1.Columns.Add(
new
ColumnHeader());
listView1.Columns[
1
].Text
=
"
Column 2
"
;
listView1.Columns.Add(
new
ColumnHeader());
listView1.Columns[
2
].Text
=
"
Column 3
"
;
listView1.Columns.Add(
new
ColumnHeader());
listView1.Columns[
3
].Text
=
"
Column 4
"
;
this
.SuspendLayout();
this
.listView1.Items.AddRange(
new
ListViewItem[]
{listViewItem1,
listViewItem2,
listViewItem3,
listViewItem4}
);
this
.listView1.Location
=
new
Point(
10
,
10
);
this
.listView1.Name
=
"
listView1
"
;
this
.listView1.Size
=
new
Size(
300
,
100
);
this
.listView1.TabIndex
=
0
;
this
.listView1.LabelEdit
=
true
;
this
.listView1.ColumnClick
+=
new
ColumnClickEventHandler(ColumnClick);
this
.ClientSize
=
new
Size(
400
,
400
);
this
.Controls.AddRange(
new
Control[]
{
this
.listView1}
);
this
.Name
=
"
ListViewSortForm
"
;
this
.Text
=
"
Sorted ListView Control
"
;
this
.ResumeLayout(
false
);
}
//
ColumnClick event handler.
private
void
ColumnClick(
object
o, ColumnClickEventArgs e)
{
this
.listView1.ListViewItemSorter
=
new
ListViewItemComparer(e.Column);
}
[System.STAThreadAttribute()]
public
static
void
Main()
{
Application.Run(
new
ListViewSortForm());
}
}
//
自定义排序算法
class
ListViewItemComparer : 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);
}
}
}
查看全文
相关阅读:
java数据结构-循环链表实现
java数据结构-普通链表实现测试
java数据结构-普通链表实现
java数据结构-排序算法-插入算法
java数据结构-排序算法-快排算法
java数据结构-递归算法-简单递归算法
python------------------异常处理
自定义Web框架
Django框架第一篇
Django框架之第二篇
原文地址:https://www.cnblogs.com/dahuzizyd/p/Winform_ListView_Sort.html
最新文章
java二叉树的定义及求其最大深度&判断两棵二叉树是否相等
java的异或
java中double转整型
面试常考基本算法
阅读方法
深度学习常用基本知识整理
java基础知识(未完待续)
华为面经(机器视觉算法工程师)
PCA和LDA的对比
元祖tuple
热门文章
关于列表和字符串修改问题
列表List
作业题练习
字符串(二)
基本数据类型字符串(一)
初识Python
java数据结构-排序算法-希尔算法
java数据结构-双向循环链表测试
java数据结构-双向循环链表实现
java数据结构-循环链表实现测试
Copyright © 2011-2022 走看看