/// <summary> /// 返回带有JqGrid的Model /// </summary> /// <param name="tableName">表名</param> /// <param name="handler">处理事件</param> /// <param name="hasOperCol">包含操作列</param> /// <param name="initCondition">初始化条件</param> /// <param name="isGlobalCondition">是否为全局条件</param> /// <returns></returns> protected JqGridViewModel GetJqGridModel(string tableName, Action <QuerySet> handler = null, bool hasOperCol = false) { JqGridViewModel model = new JqGridViewModel() { JqgridId = tableName }; QuerySet qs = new QuerySet() { TableName = tableName, InitWhere = "", GlobalWhere = "", QueryCols = "*" }; //事件处理 handler?.Invoke(qs); var allCols = _dbContext.Columns(tableName); //默认排序 var sorts = allCols.Where(c => c.SortDirection.IsPresent()); foreach (var sort in sorts) { qs.AddOrderBy(sort.ColName, sort.SortDirection); } //当排序没有设置的时候,设置创建时间倒序排列 if (!qs.OrderByList.Any()) { //qs.AddOrderBy("CreateDate", "desc"); qs.AddOrderBy("Id", "desc"); } qs.InitWhere = qs.InitWhere.IsPresent() ? ReplaceSafeSql(qs.InitWhere) : ""; qs.GlobalWhere = qs.GlobalWhere.IsPresent() ? ReplaceSafeSql(qs.GlobalWhere) : ""; model.QuerySet = qs; return(model); }