Exemple #1
0
        /// <summary>
        /// FineUIPro.Grid数据导出
        /// </summary>
        /// <param name="sql">获取数据的SQL语句</param>
        /// <param name="grid"></param>
        /// <param name="columnIndex">从第几列开始导出</param>
        /// <param name="fileName">导出的文件名</param>
        /// <param name="headerText">表头文本</param>
        public static void GridExport(string sql, FineUIPro.Grid grid, int columnIndex, string fileName, string headerText)
        {
            DataTable dtData = DbHelperOra.Query(sql).Tables[0];

            if (dtData == null || dtData.Rows.Count == 0)
            {
                Alert.Show("暂时没有查询到符合条件的数据,无法导出!", "消息提示", MessageBoxIcon.Warning);
                return;
            }
            if (columnIndex < 1)
            {
                columnIndex = 1;
            }

            //ArrayList arrColumName = new ArrayList();
            string[] columnNames = new string[grid.Columns.Count - 1];
            for (int index = columnIndex - 1; index < grid.Columns.Count; index++)
            {
                GridColumn column = grid.Columns[index];
                if (column is FineUIPro.BoundField)
                {
                    //dtData.Columns[((FineUIPro.BoundField)(column)).DataField.ToUpper()].DataType = Type.GetType("System.String");
                    dtData.Columns[((FineUIPro.BoundField)(column)).DataField.ToUpper()].ColumnName = column.HeaderText;
                    columnNames[index - 1] = column.HeaderText;
                    //arrColumName.Add(column.HeaderText);
                }
            }
            ExcelHelper.ExportByWeb(dtData.DefaultView.ToTable(true, columnNames), headerText, string.Format("{0}_{1}.xls", fileName, DateTime.Now.ToString("yyyyMMddHHmmss")));
        }
Exemple #2
0
 protected void CheckPowerWithBoundField(string powerName, FineUIPro.Grid grid, string columnID)
 {
     if (!CheckPower(powerName))
     {
         CheckPowerFailWithBoundField(grid, columnID);
     }
 }
Exemple #3
0
        /// <summary>
        /// 批量加载数据
        /// </summary>
        public static void GridRowAdd(FineUIPro.Grid grid, DataTable table)
        {
            JArray defaultObj = new JArray();

            defaultObj = JsonConvert.DeserializeObject <JArray>(JsonConvert.SerializeObject(table));
            PageContext.RegisterStartupScript(getAddNewRecordReference(grid, defaultObj, true));
        }
Exemple #4
0
        /// <summary>
        /// 得到Grid 相应单元格数据
        /// </summary>
        /// <param name="grid">指定Grid</param>
        /// <param name="rowId">行ID</param>
        /// <param name="colID">列ID</param>
        /// <returns></returns>
        public static String GetGridInf(FineUIPro.Grid grid, string rowId, string colID)
        {
            JToken jtdata = grid.GetMergedData().Where(a => a["id"].ToString() == rowId).ToList()[0];
            String res    = (jtdata.SelectToken(string.Format("$..values.{0}", colID)) ?? "").ToString();

            return(res);
        }
Exemple #5
0
        /// <summary>
        /// 批量加载Grid数据
        /// </summary>
        /// <returns></returns>
        public static void GridRowAdd(FineUIPro.Grid grid, DataTable table)
        {
            JArray defaultObj = new JArray();

            defaultObj = JsonConvert.DeserializeObject <JArray>(JsonConvert.SerializeObject(table));
            PageContext.RegisterStartupScript("F('" + grid.ClientID + "').addNewRecords(" + defaultObj + ",'true');");
        }
Exemple #6
0
        /// <summary>
        /// 通过TABLE定义JOBJECT
        /// </summary>
        public static List <JObject> GetJObject(DataTable dtGoods, FineUIPro.Grid GoodsAdd)
        {
            List <JObject> Lobj = new List <JObject>();

            foreach (DataRow rows in dtGoods.Rows)
            {
                JObject Obj = new JObject();
                foreach (GridColumn gc in GoodsAdd.AllColumns)
                {
                    string Columns = "";
                    if (gc is FineUIPro.RenderField)
                    {
                        Columns = ((FineUIPro.RenderField)(gc)).DataField.ToUpper();
                    }
                    if (gc is FineUIPro.BoundField)
                    {
                        Columns = ((FineUIPro.BoundField)(gc)).DataField.ToUpper();
                    }
                    if (Columns.Length > 0)
                    {
                        try
                        {
                            Obj.Add(Columns, rows[Columns].ToString());
                        }
                        catch
                        {
                            Obj.Add(Columns, "");
                        }
                    }
                }
                Lobj.Add(Obj);
            }

            return(Lobj);
        }
Exemple #7
0
 protected void CheckPowerFailWithWindowField(FineUIPro.Grid grid, string columnID)
 {
     FineUIPro.WindowField btn = grid.FindColumn(columnID) as FineUIPro.WindowField;
     btn.Hidden  = true;
     btn.Enabled = false;
     btn.ToolTip = CHECK_POWER_FAIL_ACTION_MESSAGE;
 }
        private void GridBoundAdd(FineUIPro.Grid grid, DataRow[] rows, DataTable table, GroupField gf)
        {
            foreach (DataRow row in rows)
            {
                DataRow[] drs = table.Select("SJCODE='" + row["CODE"].ToString() + "'");
                if (drs.Length > 0)
                {
                    GroupField gf1 = new GroupField();
                    gf1.HeaderText = row["NAME"].ToString();
                    gf1.TextAlign  = FineUIPro.TextAlign.Center;
                    GridBoundAdd(grid, drs, table, gf1);
                    gf.Columns.Add(gf1);
                }
                else
                {
                    GroupField gf2 = new GroupField();
                    gf2.HeaderText = row["NAME"].ToString();
                    gf2.TextAlign  = FineUIPro.TextAlign.Center;

                    FineUIPro.BoundField bfjs = new FineUIPro.BoundField();
                    bfjs.DataField  = row["CODE"].ToString() + "_JS";
                    bfjs.HeaderText = "入库数量";
                    bfjs.TextAlign  = FineUIPro.TextAlign.Right;
                    gf2.Columns.Add(bfjs);
                    FineUIPro.BoundField bfje = new FineUIPro.BoundField();
                    bfje.DataField  = row["CODE"].ToString() + "_JE";
                    bfje.HeaderText = "入库金额";
                    bfje.TextAlign  = FineUIPro.TextAlign.Right;
                    gf2.Columns.Add(bfje);
                    FineUIPro.BoundField bfxs = new FineUIPro.BoundField();
                    bfxs.DataField  = row["CODE"].ToString() + "_XS";
                    bfxs.HeaderText = "出库数量";
                    bfxs.TextAlign  = FineUIPro.TextAlign.Right;
                    gf2.Columns.Add(bfxs);
                    FineUIPro.BoundField bfxe = new FineUIPro.BoundField();
                    bfxe.DataField  = row["CODE"].ToString() + "_XE";
                    bfxe.HeaderText = "出库金额";
                    bfxe.TextAlign  = FineUIPro.TextAlign.Right;
                    gf2.Columns.Add(bfxe);
                    FineUIPro.BoundField bfcs = new FineUIPro.BoundField();
                    bfcs.DataField  = row["CODE"].ToString() + "_CS";
                    bfcs.HeaderText = "库存数量";
                    bfcs.TextAlign  = FineUIPro.TextAlign.Right;
                    gf2.Columns.Add(bfcs);
                    FineUIPro.BoundField bfce = new FineUIPro.BoundField();
                    bfce.DataField  = row["CODE"].ToString() + "_CE";
                    bfce.HeaderText = "库存数量";
                    bfce.TextAlign  = FineUIPro.TextAlign.Right;
                    gf2.Columns.Add(bfce);
                    gf.Columns.Add(gf2);

                    dtSource.Columns.Add(row["CODE"].ToString() + "_JS", Type.GetType("System.Decimal"));
                    dtSource.Columns.Add(row["CODE"].ToString() + "_JE", Type.GetType("System.Decimal"));
                    dtSource.Columns.Add(row["CODE"].ToString() + "_XS", Type.GetType("System.Decimal"));
                    dtSource.Columns.Add(row["CODE"].ToString() + "_XE", Type.GetType("System.Decimal"));
                    dtSource.Columns.Add(row["CODE"].ToString() + "_CS", Type.GetType("System.Decimal"));
                    dtSource.Columns.Add(row["CODE"].ToString() + "_CE", Type.GetType("System.Decimal"));
                }
            }
        }
Exemple #9
0
        public static String GetGridTableHtml(FineUIPro.Grid grid)
        {
            StringBuilder sb = new StringBuilder();

            MultiHeaderTable mht = new MultiHeaderTable();

            mht.ResolveMultiHeaderTable(grid.Columns);
            sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
            sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");

            foreach (List <object[]> rows in mht.MultiTable)
            {
                sb.Append("<tr>");
                foreach (object[] cell in rows)
                {
                    int        rowspan = Convert.ToInt32(cell[0]);
                    int        colspan = Convert.ToInt32(cell[1]);
                    GridColumn column  = cell[2] as GridColumn;

                    sb.AppendFormat("<th{0}{1}{2}>{3}</th>",
                                    rowspan != 1 ? " rowspan=\"" + rowspan + "\"" : "",
                                    colspan != 1 ? " colspan=\"" + colspan + "\"" : "",
                                    colspan != 1 ? " style=\"text-align:center;\"" : "",
                                    column.HeaderText);
                }
                sb.Append("</tr>");
            }

            foreach (GridRow row in grid.Rows)
            {
                sb.Append("<tr>");

                foreach (GridColumn column in mht.Columns)
                {
                    string html = row.Values[column.ColumnIndex].ToString();

                    if (column.ColumnID == "tfNumber")
                    {
                        html = (row.FindControl("spanNumber") as System.Web.UI.HtmlControls.HtmlGenericControl).InnerText;
                    }
                    else if (column.ColumnID == "tfNumber1")
                    {
                        html = (row.FindControl("spanNumber1") as System.Web.UI.HtmlControls.HtmlGenericControl).InnerText;
                    }
                    else if (column.ColumnID == "tfGender")
                    {
                        html = (row.FindControl("labGender") as FineUIPro.Label).Text;
                    }
                    sb.AppendFormat("<td>{0}</td>", html);
                }

                sb.Append("</tr>");
            }

            sb.Append("</table>");

            return(sb.ToString());
        }
Exemple #10
0
        // 排序后分页
        protected IQueryable <T> SortAndPage <T>(IQueryable <T> q, FineUIPro.Grid grid)
        {
            if (grid.PageIndex >= grid.PageCount && grid.PageCount >= 1)
            {
                grid.PageIndex = grid.PageCount - 1;
            }

            return(Sort(q, grid).Skip(grid.PageIndex * grid.PageSize).Take(grid.PageSize));
        }
Exemple #11
0
        /// <summary>
        /// 得到Grid 更新列数据
        /// </summary>
        /// <param name="grid">指定Grid</param>
        /// <param name="rowId">行ID</param>
        /// <returns></returns>
        public static JObject GetJObject(FineUIPro.Grid grid, string rowId)
        {
            JObject defaultObj = new JObject();

            try
            {
                foreach (JToken key in grid.GetMergedData().Where(a => a["id"].ToString() == rowId).ToList()[0].SelectToken("$.values").ToList())
                {
                    defaultObj.Add(((JProperty)(key)).Name, ((JProperty)(key)).Value);
                }
            }
            catch { }
            return(defaultObj);
        }
        /// <summary>
        /// FineUIPro.Grid控件的数据转换成DataTable
        /// </summary>
        /// <param name="grid">Grid控件</param>
        /// <returns>DataTable数据源</returns>
        public static DataTable GridDataGet(FineUIPro.Grid grid, FineUIPro.GridRowCollection rows)
        {
            int       rowCount = 0;
            DataTable dtGrid   = new DataTable();

            foreach (GridColumn gc in grid.Columns)
            {
                if (gc is FineUIPro.BoundField)
                {
                    dtGrid.Columns.Add(new DataColumn(((FineUIPro.BoundField)(gc)).DataField.ToUpper(), typeof(string)));
                }
                else if (gc is FineUIPro.RenderField)
                {
                    dtGrid.Columns.Add(new DataColumn(((FineUIPro.RenderField)(gc)).DataField.ToUpper(), typeof(string)));
                }
                else if (gc is FineUIPro.TemplateField)
                {
                    dtGrid.Columns.Add(new DataColumn(((FineUIPro.TemplateField)(gc)).ColumnID.ToUpper(), typeof(string)));
                }
                rowCount++;
            }
            if (rowCount > 0)
            {
                foreach (GridRow gr in rows)
                {
                    DataRow row = dtGrid.NewRow();
                    foreach (GridColumn gc in grid.Columns)
                    {
                        if (gc is FineUIPro.BoundField)
                        {
                            row[((FineUIPro.BoundField)(gc)).DataField.ToUpper()] = gr.Values[gc.ColumnIndex];
                        }
                        if (gc is FineUIPro.RenderField)
                        {
                            row[((FineUIPro.RenderField)(gc)).DataField.ToUpper()] = gr.Values[gc.ColumnIndex];
                        }
                        else if (gc is FineUIPro.TemplateField)
                        {
                            row[((FineUIPro.TemplateField)(gc)).ColumnID.ToUpper()] = gr.Values[gc.ColumnIndex];
                        }
                    }
                    dtGrid.Rows.Add(row);
                }
            }
            return(dtGrid);
        }
Exemple #13
0
        public static void DataExport(string sql, FineUIPro.Grid grid, string title)
        {
            DataTable dtData = DbHelperOra.QueryForTable(sql);

            if (dtData == null || dtData.Rows.Count == 0)
            {
                Alert.Show("没有数据,无法导出!");
                return;
            }

            DataTable table = new DataTable();

            table.Columns.Add(new DataColumn("序号", typeof(int)));
            foreach (DataColumn col in dtData.Columns)
            {
                table.Columns.Add(new DataColumn(col.ColumnName, col.DataType));
            }

            decimal rowno = 0;

            foreach (DataRow row in dtData.Rows)
            {
                DataRow dr = table.NewRow();
                dr["序号"] = ++rowno;
                foreach (DataColumn col in dtData.Columns)
                {
                    dr[col.ColumnName] = row[col.ColumnName];
                }
                table.Rows.Add(dr);
            }
            List <string> colmns = new List <string>();

            colmns.Add("序号");
            for (int index = 1; index < grid.Columns.Count; index++)
            {
                GridColumn column = grid.Columns[index];
                if (column is FineUIPro.BoundField)
                {
                    table.Columns[((FineUIPro.BoundField)(column)).DataField.ToUpper()].ColumnName = column.HeaderText;
                    colmns.Add(column.HeaderText);
                }
            }
            ExcelHelper.ExportByWeb(dtData, title, title + "_" + DateTime.Now.ToString("yyyyMMddHH") + ".xls");
        }
Exemple #14
0
        public static String GetGridTableHtml(FineUIPro.Grid grid, DataTable dataSource)
        {
            StringBuilder sb = new StringBuilder();

            MultiHeaderTable mht = new MultiHeaderTable();

            mht.ResolveMultiHeaderTable(grid.Columns);
            sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
            sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");

            foreach (List <object[]> rows in mht.MultiTable)
            {
                sb.Append("<tr>");
                foreach (object[] cell in rows)
                {
                    int        rowspan = Convert.ToInt32(cell[0]);
                    int        colspan = Convert.ToInt32(cell[1]);
                    GridColumn column  = cell[2] as GridColumn;

                    sb.AppendFormat("<th{0}{1}{2}>{3}</th>",
                                    rowspan != 1 ? " rowspan=\"" + rowspan + "\"" : "",
                                    colspan != 1 ? " colspan=\"" + colspan + "\"" : "",
                                    colspan != 1 ? " style=\"text-align:center;\"" : "",
                                    column.HeaderText);
                }
                sb.Append("</tr>");
            }

            foreach (DataRow row in dataSource.Rows)
            {
                sb.Append("<tr>");

                for (int i = 0; i < dataSource.Columns.Count; i++)
                {
                    sb.AppendFormat("<td>{0}</td>", row[i]);
                }

                sb.Append("</tr>");
            }

            sb.Append("</table>");
            return(sb.ToString());
        }
Exemple #15
0
    /// <summary>
    /// 绑定FineUIPro.Grid分页方法 获取删除的页面
    /// </summary>
    /// <param name="columns">显示列名</param>
    ///  <param name="grid">FineUIPro.Grid</param>
    /// <param name="tableName">表名</param>
    /// <param name="strSql">where条件(加and)</param>
    /// <param name="orderbyColumn">排序条件</param>
    public void BindFineUI_del(string columns, FineUIPro.Grid grid, string tableName, string strSql, string orderbyColumn)
    {
        if (orderbyColumn.Length == 0)
        {
            orderbyColumn = string.Format(" {0} {1} ", grid.SortField, grid.SortDirection);
        }

        string sql = string.Format(@"select  {0},row_number() over(order by {1}) rid into #tt from {2} 
                                where isdel=1 {3} Order By {1}  select * from  #tt where rid> {4} and rid<={5} drop table  #tt",
                                   columns, orderbyColumn, tableName, strSql, grid.PageSize * grid.PageIndex, grid.PageSize * (grid.PageIndex + 1));

        grid.RecordCount = Getdatatablecount(string.Format("select count(1) from {0}  where isdel=1 {1}", tableName, strSql));
        DataTable dt    = GetPagedDataTable(sql);
        DataView  view1 = dt.DefaultView;

        view1.Sort      = orderbyColumn;
        grid.DataSource = null;
        grid.DataSource = view1;
        grid.DataBind();
    }
Exemple #16
0
        /// <summary>
        /// 通过字符串,解析得到JOBJECT
        /// </summary>
        public static JObject GetJObject(string goods, FineUIPro.Grid GoodsAdd)
        {
            JObject        Obj  = new JObject();
            List <JObject> Lobj = new List <JObject>();

            if (GoodsAdd != null)
            {
                DataTable table = new DataTable();
                DataRow   dr;
                string[]  goodsRows = goods.Split('♂');
                foreach (string rowValue in goodsRows)
                {
                    dr = table.NewRow();
                    string[] row = rowValue.Split('♀');
                    if (row.Length != table.Columns.Count)
                    {
                        continue;
                    }
                    for (int i = 0; i < table.Columns.Count; i++)
                    {
                        dr[i] = row[i] == "★" ? "" : row[i];
                    }
                    table.Rows.Add(dr);
                }
                foreach (DataRow rows in table.Rows)
                {
                    foreach (GridColumn gc in GoodsAdd.AllColumns)
                    {
                        try
                        {
                            Obj.Add(gc.ProductName, rows[gc.ProductName].ToString());
                        }
                        catch
                        { }
                    }
                }
            }
            return(Obj);
        }
Exemple #17
0
        /// <summary>
        /// 根据Grid列获取导出Excel的数据源
        /// </summary>
        /// <param name="gridData"></param>
        /// <param name="dtData"></param>
        /// <returns></returns>
        public static DataTable ExportDataTable(FineUIPro.Grid gridData, DataTable dtData, string filed = "")
        {
            List <String> columnNames = new List <string>();

            for (int index = 1; index < gridData.Columns.Count; index++)
            {
                GridColumn column = gridData.Columns[index];
                if (column.Hidden == false)
                {
                    if (column is FineUIPro.BoundField)
                    {
                        //dtData.Columns[((FineUIPro.BoundField)(column)).DataField.ToUpper()].DataType = Type.GetType("System.String");
                        dtData.Columns[((FineUIPro.BoundField)column).DataField.ToUpper()].ColumnName = column.HeaderText;
                    }
                    else if (column is FineUIPro.RenderField)
                    {
                        dtData.Columns[((FineUIPro.RenderField)column).DataField.ToUpper()].ColumnName = column.HeaderText;
                    }
                    columnNames.Add(column.HeaderText);
                }
            }
            return(dtData.DefaultView.ToTable(true, columnNames.ToArray()));
        }
Exemple #18
0
        public static string getAddNewRecordReference(FineUIPro.Grid grid, JArray ja, Boolean last)
        {
            string result = "F('" + grid.ClientID + "').f_addNewRecord(" + JsonConvert.SerializeObject(ja) + "," + last.ToString().ToLower() + ");";

            return(result);
        }
Exemple #19
0
 // 排序
 protected IQueryable <T> Sort <T>(IQueryable <T> q, FineUIPro.Grid grid)
 {
     return(q.SortBy(grid.SortField + " " + grid.SortDirection));
 }
Exemple #20
0
 /// <summary>
 /// 绑定FineUIPro.Grid分页方法
 /// </summary>
 /// <param name="grid">FineUIPro.Grid</param>
 /// <param name="tableName">表名</param>
 /// <param name="strSql">where条件(加and)</param>
 /// <param name="orderbyColumn">排序条件</param>
 public void BindFineUI(FineUIPro.Grid grid, string tableName, string strSql, string orderbyColumn)
 {
     BindFineUI(" * ", grid, tableName, strSql, orderbyColumn);
 }
Exemple #21
0
 /// <summary>
 /// 绑定FineUIPro.Grid分页方法
 /// </summary>
 /// <param name="columns">显示列名</param>
 ///  <param name="grid">FineUIPro.Grid</param>
 /// <param name="tableName">表名</param>
 /// <param name="whereSql">where条件(加and)</param>
 /// <param name="orderbyColumn">排序条件</param>
 public void BindFineUI(string columns, FineUIPro.Grid grid, string tableName, string whereSql, string orderbyColumn)
 {
     FineuiProHelper.Grid.BindFineUI(columns, grid, tableName, whereSql, orderbyColumn);
 }
Exemple #22
0
 /// <summary>
 /// 绑定FineUIPro.Grid分页方法
 /// </summary>
 /// <param name="columns">显示列名</param>
 ///  <param name="grid">FineUIPro.Grid</param>
 /// <param name="tableName">表名</param>
 /// <param name="whereSql">where条件(加and)</param>
 /// <param name="dic">条件参数和赋值</param>
 /// <param name="orderbyColumn">排序条件</param>
 public void BindFineUI(string columns, FineUIPro.Grid grid, string tableName, string whereSql, Dictionary <string, object> dic, string orderbyColumn)
 {
     FineuiProHelper.Grid.BindFineUI(columns, grid, tableName, whereSql, dic, orderbyColumn);
 }
Exemple #23
0
 /// <summary>
 /// 获取选中行的主id
 /// </summary>
 /// <param name="grid">FineUIPro.Grid</param>
 /// <param name="keyNumIndex">第几个主键(从0开始)</param>
 /// <returns></returns>
 public static string GetDataKeysBySelectedRow(FineUIPro.Grid grid, int keyNumIndex)
 {
     return(FineuiProHelper.Grid.GetDataKeysBySelectedRow(grid, keyNumIndex));
 }
Exemple #24
0
 /// <summary>
 /// 获取选中行的主id,第一主键
 /// </summary>
 /// <param name="grid">FineUIPro.Grid</param>
 /// <returns></returns>
 public static string GetDataKeysBySelectedRow(FineUIPro.Grid grid)
 {
     return(FineuiProHelper.Grid.GetDataKeysBySelectedRow(grid, 0));
 }