/// <summary> /// 获取分页数据集合 /// </summary> /// <param name="key">关键字</param> /// <param name="pageSize">分页大小</param> /// <param name="currentPage">分页页号</param> /// <param name="count">数据总数</param> /// <param name="isDesc">是否逆序</param> /// <returns>分页数据集合</returns> public valueType[] GetPage(keyType key, int pageSize, int currentPage, out int count, bool isDesc = true) { AutoCSer.SearchTree.Dictionary <sortType, valueType> tree; if (groups.TryGetValue(key, out tree)) { Threading.SearchTreeDictionaryPageTask <valueType, sortType> task = new Threading.SearchTreeDictionaryPageTask <valueType, sortType>(pageSize, currentPage, isDesc, tree); cache.SqlTable.AddQueue(task); return(task.Wait(out count)); } count = 0; return(NullValue <valueType> .Array); }
/// <summary> /// 获取分页记录集合 /// </summary> /// <param name="index">数组索引</param> /// <param name="pageSize">分页长度</param> /// <param name="currentPage">分页页号</param> /// <param name="count">记录总数</param> /// <param name="isDesc">是否逆序</param> /// <returns>分页记录集合</returns> public valueType[] GetPage(int index, int pageSize, int currentPage, out int count, bool isDesc = true) { AutoCSer.SearchTree.Dictionary <sortType, valueType> tree = treeArray[index]; if (tree != null) { Threading.SearchTreeDictionaryPageTask <valueType, sortType> task = new Threading.SearchTreeDictionaryPageTask <valueType, sortType>(pageSize, currentPage, isDesc, tree); cache.SqlTable.AddQueue(task); return(task.Wait(out count)); } count = 0; return(EmptyArray <valueType> .Array); }
/// <summary> /// 获取分页数据集合 /// </summary> /// <param name="pageSize">分页大小</param> /// <param name="currentPage">分页页号</param> /// <param name="count">数据总数</param> /// <param name="isDesc">是否逆序</param> /// <returns>分页数据集合</returns> public valueType[] GetPage(int pageSize, int currentPage, out int count, bool isDesc = false) { Threading.SearchTreeDictionaryPageTask <valueType, sortType> task = new Threading.SearchTreeDictionaryPageTask <valueType, sortType>(pageSize, currentPage, isDesc, tree); cache.SqlTable.AddQueue(task); return(task.Wait(out count)); }