在c#中有什么列表控件?

我指的是一个可以像Explorer的详细信息一样,可以进行排序,有右键菜单这些功能的控件。
listView怎样才能对某一字段进行排序?
就是点击上面的“header”时排序。

在listView的ColumnClick事件里增加下边代码
private void listView1_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e)
{
if (listView1.Sorting == SortOrder.Ascending)
listView1.Sorting = SortOrder.Descending;
else
listView1.Sorting = SortOrder.Ascending;

this.listView1.ListViewItemSorter = new ListViewItemComparer(e.Column,listView1.Sorting);

listView1.Sort();
}

增加类ListViewItemComparer:
class ListViewItemComparer : IComparer
{
private int col;
private SortOrder order;
public ListViewItemComparer()
{
col=0;
order = SortOrder.Ascending;
}
public ListViewItemComparer(int column, SortOrder order)
{
col=column;
this.order = order;
}
public int Compare(object x, object y)
{
int returnVal= -1;
returnVal = String.Compare(((ListViewItem)x).SubItems[col].Text,
((ListViewItem)y).SubItems[col].Text);
// Determine whether the sort order is descending.
if(order == SortOrder.Descending)
// Invert the value returned by String.Compare.
returnVal *= -1;
return returnVal;
}
}

详细代码看
http://www.microsoft.com/china/MSDN/library/netFramework/netframework/NFdnwinformslistviewsort.mspx?mfr=true
————————————————————————————————————————
listView是多字段的,你把view属性设成Details就可以了
增加数据:
ListViewItem item1 = new ListViewItem("item1",0);
item1.SubItems.Add("1");
item1.SubItems.Add("2");
item1.SubItems.Add("3");
ListViewItem item2 = new ListViewItem("item2",1);
item2.SubItems.Add("4");
item2.SubItems.Add("5");
item2.SubItems.Add("6");

listView1.Columns.Add("Column 1", -2, HorizontalAlignment.Left);
listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);

listView1.Items.AddRange(new ListViewItem[]{item1,item2});

点击行标题排序可用ColumnClick事件
右键菜单ContextMenu属性你自己设定

详细说明查查MSDN吧
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemwindowsformslistviewclassviewtopic.htm

参考资料:http://www.microsoft.com/china/MSDN/library/netFramework/netframework/NFdnwinformslistviewsort.mspx?mfr=true

温馨提示:内容为网友见解,仅供参考
第1个回答  2007-07-30
listView
但右键菜单可能需要自己搞.

C#中可以用什么控件来显示数据?
表格形式的:DataGridView 列表形式的:ListBox,ListView等等 简单的数据用文本框也能显示:TextBox等 1、自己做一个控件,可以做得很漂亮。2、如果不想做。就用FlowLayoutPanel和Label两个控件组合。可以达到下面的效果。FlowLayoutPanel容器是一个按照流布局的控件。里面的子控件会一个挨一个的排列。排...

c#listview
1、简介:ListView是一个Windows列表视图控件,该控件显示可用五种不同视图(LargeIcon,Details,SmallIcon,List,Tile)之一显示项的集合。LargeIcon:每个项都显示为一个最大化图标,在它的下面有一个标签。Details:每个项显示在不同的行上,并带有关于列中所排列的各项的进一步信息。最左边的列包含一个小...

在asp.net(c#)中如何使用datalist控件
Asp.net提供了三个功能强大的列表控件:DataGrid、DataList和Repeater控件,但其中只有DataGrid控件提供分页功能。相对DataGrid,DataList和Repeater控件具有更高的样式自定义性,所以很多时候我们喜欢使用DataList或Repeater控件来显示数据。实现DataList或Repeater控件的分页显示有几种方法:1、写一个方法或存储过程...

在c#中有什么列表控件?
在listView的ColumnClick事件里增加下边代码 private void listView1_ColumnClick(object sender, System.Windows.Forms.ColumnClickEventArgs e){ if (listView1.Sorting == SortOrder.Ascending)listView1.Sorting = SortOrder.Descending;else listView1.Sorting = SortOrder.Ascending;this.listView1.ListViewIt...

C#下需要实现这样的列表功能,请问用那种控件?
用Listbox当然可以啊!获得数据并装进dataset 然后用循环给listbox赋值 也可以用datagridview 用这个控件的datasource 绑定你的 dataset就OK了!代码我就不写了!

C# 还有没有其他表格控件,除了ListView和DataGridView
一般来讲就是DataGridView 或者ListView 如果图形绘制比较麻烦的可以用水晶报表 再不满意的话去下载个开源的第三方控件Developer Express 实在不行。。就用Webbrowser里面嵌套html页的形式表现。。其他的只有第三方控件能满足你了。。

c# 下拉列表按钮怎么弄
要是工具是VisualStudio的话有ContextMenuStrip控件

怎样使用C#的控件
点击【treeview】控件,在属性中选择行为,从行为列表中选择【afterselect】双击,在代码编辑页面,添加节点被选择后的代码。8 编辑输出日志的output方法的代码。9 生成exe文件进行测试 10 输入父节点和子节点数量分别为2和4,生成树结构。确认生成成功。11 点击【清除所有节点】,可以看到所有节点都已经被...

我是菜鸟请问各位大侠c#控件常用的有哪些(具体点) 谢谢!
如果有模式地显示该窗体,该属性值为true;否则为 false。当有模式地显示窗体时,只能对模式窗体上的对象进行输入。必须隐藏或关闭模式窗体(通常是响应某个用户操作),然后才能对另一窗体进行输入。有模式显示的窗体通常用做应用程序中的对话框。 (15)ActiveControl属性:用来获取或设置容器控件中的活动控件。窗体也是一种...

【C# .NET】WPF (六) 常用控件 之 条目控件 (ItemsControls)_百度...
在【C# .NET】WPF (六) 常用控件系列中,我们重点关注了条目控件(ItemsControls),它是WPF控件中的一个重要类别。这些控件从Control类派生,支持内容的多样化和数据绑定功能。ItemsControl的核心特性在于Items属性,它可以容纳任何Object类型的对象,而ItemsSource属性则用于数据绑定,优先级高于Items。ItemsContr...

相似回答
大家正在搜