ObservableCollection 分组后排序报错问题
ObservableCollection通过Move方法可以移动顺序,如下:
将ObservableCollection中的一个item置顶:
private ObservableCollection<GroupListInfo> _disCussItems;
private void TopItem(string groupName)
{
var info = _disCussItems.FirstOrDefault(m => m.GroupName == groupName);
if (info == null) return;
var index = _disCussItems.IndexOf(info);
if (index < ) return;
_disCussItems.Move(index, );
}
但是当ObservableCollection分组后,
var vw = CollectionViewSource.GetDefaultView(_disCussItems);
vw.GroupDescriptions.Add(new PropertyGroupDescription("TimeGroup"));//按TimeGroup字段分组
Move方法就会出现错误,
大概猜测排序后每个组的index都是在各自的组内,最后只能做一个兼容的操作:
就是在调用Move方法之前,先清空分组;
待move方法完成后,在调用分组功能,具体如下:
private ObservableCollection<GroupListInfo> _disCussItems;
private void TopItem(string groupName)
{
var info = _disCussItems.FirstOrDefault(m => m.GroupName == groupName);
if (info == null) return;
var vw = CollectionViewSource.GetDefaultView(_disCussItems);
vw.GroupDescriptions.Clear();
var index = _disCussItems.IndexOf(info);
if (index < ) return;
_disCussItems.Move(index, );
vw.GroupDescriptions.Add(new PropertyGroupDescription("TimeGroup"));
}
ObservableCollection 分组后排序报错问题的更多相关文章
- 排序(分组后排序&整排)
一.整排 要求:根据score进行排名,分数相同,名次相同,且连续 表如下图: sql语句: 方法一:select a.score, (select count(distinct b.score) f ...
- ES使用text类型字段排序报错
elasticsearch text字段排序报错解决使用elasticsearch 进行排序的时候,我们一般都会排序数字.日期.但是在排序text类型的时候就会出现错误. GET xytest/sut ...
- dialogic d300语音卡驱动重装后启动报错问题解决方法
dialogic d300 驱动重装后 dlstart 报错解决 问题描述:dlstart 后如下报错 [root@BJAPQ091 data]#dlstop Stopping Dialogic ...
- Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer
Heka 编译安装后 运行报错 panic: runtime error: cgo argument has Go pointer to Go pointer 解决办法: 1. Start heka ...
- 安装mongodb后启动报错libstdc++
安装mongo后启动报错如下图 显然说是libstdc++.so文件版本的问题,这种一般都是gcc版本太低了 接着查询gcc的版本 strings /usr/lib/libstdc++.so.6 ...
- Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL
Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderL 严重: Error config ...
- linux上安装完torch后仍报错:ImportError: No module named torch
linux上安装完torch后仍报错: Traceback (most recent call last): File , in <module> import torch ImportE ...
- 安卓工作室 android studio 汉化后,报错。 设置界面打不开。Can't find resource for bundle java.util.PropertyResourceBundle, key emmet.bem.class.name.element.separator.label
安卓工作室 android studio 汉化后,报错. 设置界面打不开. Android studio has been sinified and reported wrong.The setup ...
- Python首次安装后运行报错(0xc000007b)的解决方法
最近在安装完Python后运行发现居然报错了,错误代码是0xc000007b,于是通过往上查找发现是因为首次安装Python缺乏VC++库的原因,下面通过这篇文章看看如何解决这个问题吧. 错误提示 ...
随机推荐
- mysql中的内连接,外连接实例详解
内连接: 只连接匹配的行左外连接: 包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行右外连接: 包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边 ...
- hiho一下 第四十八周 拓扑排序·二【拓扑排序的应用 + 静态数组 + 拓扑排序算法的时间优化】
题目1 : 拓扑排序·二 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho所在学校的校园网被黑客入侵并投放了病毒.这事在校内BBS上立刻引起了大家的讨论,当 ...
- IntelliJ IDEA Sringboot 项目部署到外部Tomcat服务器
<packaging>war</packaging> 添加依赖 <dependency> <groupId>org.springframework.bo ...
- AOP学习(2)
<property name="interceptorNames"> <!-- 相当于包MyMethodBeforeAdvice前置通知和代理对象关联,我们 也可 ...
- 如何使用SSDT进行SQL数据库的自动化部署到生产环境和版本控制
简介 在开发过程,我们常常会遇到数据库环境部署的问题,当部署正式环境中,数据库产生的多文件脚本在管理上就容易出现混乱,特别是你还没有权限访问正式环境的情况,就更为困难.SSDT为我们提供了很好的解决方 ...
- Selenium-百度登录简单例子
实现: 百度web端登录,手动输入验证码 #! /usr/bin/env python #coding=utf-8 from selenium import webdriver import time ...
- Python基础-MD5加密
import hashlibm = hashlib.md5()#构造一个md5 m.update(b"Hello")#加密前必须转化成二进制字节类型print(m.hexdiges ...
- 9 python 数据类型—字典
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...
- SpringBoot_异常_01_Caused by: java.lang.BootstrapMethodError: java.lang.NoSuchMethodError
一.异常信息 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gsonB ...
- codeforces 632B B. Alice, Bob, Two Teams(暴力)
B. Alice, Bob, Two Teams time limit per test 1.5 seconds memory limit per test 256 megabytes input s ...