WPF中ListView排序
程序员文章站
2022-03-07 14:21:06
...
<!--xaml-->
<ListView Margin="51,54,70,64" x:Name="lvList" GridViewColumnHeader.Click="lvList_Click_1" ItemsSource="{Binding}" >
<ListView.View>
<GridView >
<GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}" Width="50"></GridViewColumn>
<GridViewColumn Header="Age" DisplayMemberBinding="{Binding Age}" Width="50"></GridViewColumn>
<GridViewColumn Header="Email" DisplayMemberBinding="{Binding Email}" Width="50"></GridViewColumn>
</GridView>
</ListView.View>
</ListView>
//后台代码
private void lvList_Click_1(object sender, RoutedEventArgs e)
{
if (e.OriginalSource is GridViewColumnHeader)
{
//获得点击的列
GridViewColumn clickedColumn = (e.OriginalSource as GridViewColumnHeader).Column;
if (clickedColumn != null)
{
//Get binding property of clicked column
string bindingProperty = (clickedColumn.DisplayMemberBinding as Binding).Path.Path;
//获得listview项是如何排序的
SortDescriptionCollection sdc = this.lvList.Items.SortDescriptions;
//按升序进行排序
ListSortDirection sortDirection = ListSortDirection.Ascending;
if (sdc.Count > 0)
{
SortDescription sd = sdc[0];
sortDirection = (ListSortDirection)((((int)sd.Direction) + 1) % 2);
sdc.Clear();
}
sdc.Add(new SortDescription(bindingProperty, sortDirection));
}
}
}
上一篇: WPF中的Style
下一篇: 多选框默认被选中
推荐阅读
-
在ASP.NET 2.0中操作数据之二十四:分页和排序报表数据
-
在ASP.NET 2.0中操作数据之二十六:排序自定义分页数据
-
在ASP.NET 2.0中操作数据之二十七:创建自定义排序用户界面
-
Android中ListView设置静态数据的方法
-
LayoutAnimation给ListView中的item设置动态出场效果(实例)
-
Android 中ScrollView与ListView冲突问题的解决办法
-
SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)
-
Android 中ListView和GridView赋值错位
-
Android ListView中headerview的动态显示和隐藏的实现方法
-
在ASP.NET 2.0中操作数据之四十三:DataList和Repeater数据排序(二)