private void InitGrid() { //加载视图数据 GridParma thisGridParma = null; //IEnumerable<GridParma> thisGridParmaList; thisGridParma = GridParmaList.FirstOrDefault(p => p.PageName == this.Request.Url.AbsolutePath && p.GridName == "viewcontrol5D"); if (thisGridParma == null) { thisGridParma = new GridParma() { PageName = this.Request.Url.AbsolutePath, GridName = "viewcontrol5D", QueryParmaList = new List <QueryParma>(), }; GridParmaList.Add(thisGridParma); } QueryParma viewcontrol5DQueryParma = thisGridParma.QueryParmaList.FirstOrDefault(p => p.QueryField.FieldName == "Role_ID"); if (viewcontrol5DQueryParma == null) { viewcontrol5DQueryParma = new QueryParma() { QueryField = new QueryField() { FieldName = "Role_ID", }, CompareTypeEnum = CompareTypeEnum.Equal, Value = __Id, }; thisGridParma.QueryParmaList.Add(viewcontrol5DQueryParma); } thisGridParma.PageIndex = 0; viewcontrol5DQueryParma.Value = __Id; viewcontrol5D.InitData(); }
public static string GetCompareExpression(this QueryParma qp, Type ptype) { string str = "< "; switch (qp.CompareTypeEnum) { case CompareTypeEnum.LessThan: str = " it.{0} < "; break; case CompareTypeEnum.LessThanOrEqual: str = " it.{0} <= "; break; case CompareTypeEnum.Equal: str = " it.{0} = "; break; case CompareTypeEnum.GreaterThanOrEqual: str = " it.{0} >= "; break; case CompareTypeEnum.GreaterThan: str = " it.{0} > "; break; case CompareTypeEnum.EndWith: str = " it.{0} LIKE \"%{1}\""; break; case CompareTypeEnum.StartWith: str = " it.{0} LIKE \"{1}%\""; break; case CompareTypeEnum.Contains: str = " it.{0} LIKE \"%{1}%\""; break; case CompareTypeEnum.NotEqual: str = " it.{0} != "; break; } Type[] source = new Type[] { typeof(DateTime), typeof(DateTime?), typeof(string) }; CompareTypeEnum[] enumArray = new CompareTypeEnum[] { CompareTypeEnum.StartWith, CompareTypeEnum.EndWith, CompareTypeEnum.Contains }; if (!enumArray.Contains <CompareTypeEnum>(qp.CompareTypeEnum)) { if (!source.Contains <Type>(ptype)) { str = str + "{1}"; } else { str = str + "\"{1}\""; } } Type[] typeArray2 = new Type[] { typeof(DateTime), typeof(DateTime?) }; if (typeArray2.Contains <Type>(ptype)) { str = str.Replace("\"", "").Replace("{1}", "cast('{1}' as System.DateTime)"); } return(str); }