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);
        }