缓存之List分页查询
/// <summary> /// 缓存数据分页查询跳转实现方法 /// </summary> private void CachePageChange() { DispatcherHelper.RunAsync(() => { try { Models.Clear(); var drugDicListsCache = (List<DrugDicModel>)CacheHelper.Instance.GetCacheData(CacheKey.DrugDic); var pageDatas = drugDicListsCache.Skip((int)(QueryParameter.Page - 1) * (int)QueryParameter.PageSize).Take((int)QueryParameter.PageSize); QueryParameter.TotalCount = drugDicListsCache.Count; pageDatas.ToList().ForEach(model => Models.Add(model)); } catch (Exception ex) { //Messenger.Default.Send(new ToastMessage { ToastType = ToastType.Error, Message = "获取生产厂家字典失败" }, MessengerToken.TOAST_MESSAGE); } }); }
/// <summary> /// 查询参数基类 /// </summary> public class QueryParameter : INotifyPropertyChanged { private string _keyword; private int? _page; private int? _pagesize; private int? _totalcount; private string _order; /// <summary> /// 搜索关键字 /// </summary> public string Keyword { get => _keyword; set { _keyword = value; RaisePropertyChanged(() => Keyword); } } /// <summary> /// 页索引,即第几页,从1开始 /// </summary> public int? Page { get => _page; set { _page = value; RaisePropertyChanged(() => Page); } } /// <summary> /// 每页显示行数 /// </summary> public int? PageSize { get => _pagesize; set { _pagesize = value; RaisePropertyChanged(() => PageSize); } } /// <summary> /// 总行数 /// </summary> public int? TotalCount { get => _totalcount; set { _totalcount = value; RaisePropertyChanged(() => TotalCount); } } /// <summary> /// 排序条件 /// </summary> public string Order { get => _order; set { _order = value; RaisePropertyChanged(() => Order); } } #region Implementation public event PropertyChangedEventHandler PropertyChanged; protected virtual void RaisePropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } public virtual void RaisePropertyChanged<T>(Expression<Func<T>> propertyExpression) { var memberExpr = propertyExpression.Body as MemberExpression; if (memberExpr == null) throw new ArgumentException("propertyExpression should represent access to a member"); string memberName = memberExpr.Member.Name; RaisePropertyChanged(memberName); } #endregion Implementation }
![](https://files-cdn.cnblogs.com/files/jiangyan219/Alipay.bmp)
您的资助是我最大的动力!
金额随意,欢迎来赏!
![](https://files-cdn.cnblogs.com/files/jiangyan219/WeChat.bmp)
我写的东西能让你能懂,那是义务
毕竟占用了你生命中的宝贵的时间和注意力
要是你还能喜欢我的作品,那就是缘分了
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【青青子衿】!