示例#1
0
        public ActionResult Index(string sqlValue, bool isSecurityLable = false)
        {
            if (Request.Form.AllKeys.Contains("isSecurityLable") || Request.QueryString.ToString().IndexOf("isSecurityLable") > 0)
            {
                return(View());
            }
            if (!isSecurityLable /*避免通过 Get 直接请求 Index 方法*/ || sqlValue.Trim().IsEmpty())
            {
                return(View());
            }
            CommondController commond = new CommondController(_db);

            DataTable T = commond.GetDataTableOneRow(sqlValue);

            Session["SqlValue"] = sqlValue;
            ViewBag.sqlValue    = sqlValue;//sqlValue.Replace("\r","").Replace("\t"," ").Replace("\n"," ");
            #region T 不为空的时候
            if (T != null && T.Rows.Count > 0)
            {
                var CName = T.Columns.Cast <DataColumn>().Select(x => x.ColumnName).ToArray();
                var CType = T.Columns.Cast <DataColumn>().Select(x => x.DataType.FullName).ToArray();

                ViewBag.ColumnName = CName;
                ViewBag.ColumnType = CType;

                ViewBag.zdString = string.Join(",", CName);
                ViewBag.lxString = string.Join(",", CType);
                ViewBag.显示的类型    = "System.TimeSpan,System.Byte[]";
                ViewBag.排序字段     = CName[0];
                ViewBag.排序方式     = "desc";
            }
            #endregion
            return(View());
        }
示例#2
0
        //[GZipOrDeflate]
        public ActionResult Category(string report, string title)
        {
            if (report.IsEmpty())
            {
                return(Redirect("/Report/Index"));
            }
            CommondController  commond        = new CommondController(_db);
            rpt_categorydetail categoryDetail = commond.GetCategoryDetail(report);
            string             sqlValue       = null;

            if (HttpContext.Request.QueryString["CustomQuery"] != null)
            {
                sqlValue = SessionHelper.GetSqlValue().IsEmpty() ? categoryDetail.Sqlvalue : SessionHelper.GetSqlValue();
            }
            if (HttpContext.Request.QueryString["RestSetUp"] == null && HttpContext.Request.QueryString["CustomQuery"] == null)
            {
                SessionHelper.RestSqlValue();
                SessionHelper.RestTotalName();
            }

            if (categoryDetail == null)
            {
                BugLog.Write("report=------" + report);
                throw new ArgumentException("报表类别为空  请联系管理员;");
            }
            DataTable T = commond.GetDataTableOneRow(sqlValue ?? categoryDetail.Sqlvalue);

            #region T 不为空的时候
            if (T != null && T.Rows.Count > 0)
            {
                var CName = T.Columns.Cast <DataColumn>().Select(x => x.ColumnName).ToArray();
                var CType = T.Columns.Cast <DataColumn>().Select(x => x.DataType.FullName).ToArray();

                ViewBag.ColumnName = CName;
                ViewBag.ColumnType = CType;
                ViewBag.Total      = categoryDetail.Total.IsEmpty() ? "" : categoryDetail.Total;
                ViewBag.zdString   = string.Join(",", CName);
                ViewBag.lxString   = string.Join(",", CType);
                ViewBag.排序字段       = categoryDetail.Sort.IsEmpty() ? CName[0] : CName.Contains(categoryDetail.Sort) ? categoryDetail.Sort : CName[0];
                ViewBag.排序方式       = categoryDetail.Order.IsEmpty() ? "desc" : categoryDetail.Order;
                ViewBag.显示的类型      = "System.TimeSpan,System.Byte[]";
                ViewBag.Title      = categoryDetail.Detailedname ?? title;
                ViewBag.report     = categoryDetail.Id;
            }
            #endregion
            return(View());
        }