Beispiel #1
0
 private void ClearGrid(AxFPUSpreadADO.AxfpSpread _axfpSpread)
 {
     for (int iRow = 1; iRow < _axfpSpread.MaxRows; iRow++)
     {
         _axfpSpread.AddCellSpan(1, _axfpSpread.MaxCols - 1, _axfpSpread.MaxCols - 1, 1);
     }
     for (int iCol = 1; iCol < _axfpSpread.MaxCols; iCol++)
     {
         _axfpSpread.AddCellSpan(iCol, _axfpSpread.MaxRows - 1, 1, _axfpSpread.MaxRows - 1);
     }
 }
        private void Display_Grid(AxFPUSpreadADO.AxfpSpread _axfpSpread, DataTable _dt)
        {
            _axfpSpread.AddCellSpan(2, 1, _dt.Columns.Count - 1, 1);
            _axfpSpread.SetText(2, 1, _dt.Columns[1].Caption.ToString().Substring(1, 4));
            for (int iRow = 0; iRow < _dt.Rows.Count; iRow++)
            {
                int    iNumber = 0;
                double dTotal  = 0;
                double d       = Math.Round((232.125 - 22 - 18.75) / (_dt.Columns.Count - 1), 2);
                for (int iCol = 1; iCol < _dt.Columns.Count; iCol++)
                {
                    //_axfpSpread.set_ColWidth(iCol + 1, d);
                    //if (iRow == 0)
                    //{
                    //    _axfpSpread.SetText(iCol+1,iRow+2,_dt.Columns[iCol].Caption.ToString().Substring(7,2));
                    //}
                    if (_dt.Rows[iRow][iCol].ToString() != "0")
                    {
                        _axfpSpread.SetText(iCol + 1, iRow + 3, _dt.Rows[iRow][iCol].ToString());
                    }
                    if (_dt.Rows[iRow][iCol].ToString() != "" && _dt.Rows[iRow][iCol].ToString() != "0")
                    {
                        dTotal += Convert.ToDouble(_dt.Rows[iRow][iCol].ToString());
                        iNumber++;
                    }
                }
                if (iRow == 0)
                {
                    double dd = 232.125 - 22 - (_dt.Columns.Count - 1) * (_axfpSpread.get_ColWidth(_dt.Columns.Count));
                    _axfpSpread.AddCellSpan(_dt.Columns.Count + 1, iRow + 1, 1, 2);
                    _axfpSpread.SetText(_dt.Columns.Count + 1, iRow + 1, "Average");
                    _axfpSpread.Row       = iRow + 1;
                    _axfpSpread.Col       = _dt.Columns.Count + 1;
                    _axfpSpread.BackColor = Color.Orange;
                    //_axfpSpread.set_ColWidth(_dt.Columns.Count + 1, dd);
                }
                if (iNumber != 0)
                {
                    _axfpSpread.SetText(_dt.Columns.Count + 1, iRow + 3, Math.Round(dTotal / iNumber, 1));
                }
                else
                {
                    _axfpSpread.SetText(_dt.Columns.Count + 1, iRow + 3, 0);
                }

                for (int iCol = _dt.Columns.Count + 2; iCol <= _axfpSpread.MaxCols; iCol++)
                {
                    _axfpSpread.set_ColWidth(iCol, 0);
                }
            }
        }
Beispiel #3
0
        private void Display_Grid(AxFPUSpreadADO.AxfpSpread _axfpSpread, DataTable _dt)
        {
            _axfpSpread.AddCellSpan(2, 1, _dt.Columns.Count - 1, 1);
            _axfpSpread.SetText(2, 1, DateTime.ParseExact(_dt.Columns[1].Caption.ToString().Substring(1, 8), "yyyyMMdd", CultureInfo.InvariantCulture).ToString("MMMM", CultureInfo.InvariantCulture));
            for (int iRow = 0; iRow < _dt.Rows.Count; iRow++)
            {
                int    iNumber = 0;
                double dTotal  = 0;
                double d       = Math.Round((232.125 - 17.12 - 9.5) / (_dt.Columns.Count - 1), 2);
                for (int iCol = 1; iCol < _dt.Columns.Count; iCol++)
                {
                    _axfpSpread.set_ColWidth(iCol + 1, d);
                    if (iRow == 0)
                    {
                        _axfpSpread.SetText(iCol + 1, iRow + 2, _dt.Columns[iCol].Caption.ToString().Substring(7, 2));
                    }

                    if (_dt.Rows[iRow][iCol].ToString() != "" && _dt.Rows[iRow][iCol].ToString() != "0")
                    {
                        _axfpSpread.SetText(iCol + 1, iRow + 3, _dt.Rows[iRow][iCol].ToString());
                        dTotal += Convert.ToDouble(_dt.Rows[iRow][iCol].ToString());
                        iNumber++;
                    }
                }
                if (iRow == 0)
                {
                    double dd = 232.125 - 17.12 - (_dt.Columns.Count - 1) * (_axfpSpread.get_ColWidth(_dt.Columns.Count));
                    _axfpSpread.AddCellSpan(_dt.Columns.Count + 1, iRow + 1, 1, 2);
                    _axfpSpread.SetText(_dt.Columns.Count + 1, iRow + 1, "Avg");
                    _axfpSpread.Row       = iRow + 1;
                    _axfpSpread.Col       = _dt.Columns.Count + 1;
                    _axfpSpread.BackColor = Color.Orange;
                    _axfpSpread.ForeColor = Color.White;
                    _axfpSpread.set_ColWidth(_dt.Columns.Count + 1, dd);
                }
                if (iNumber != 0)
                {
                    _axfpSpread.SetText(_dt.Columns.Count + 1, iRow + 3, Math.Round(dTotal / iNumber, 1));
                }
                else
                {
                    _axfpSpread.SetText(_dt.Columns.Count + 1, iRow + 3, 0);
                }

                for (int iCol = _dt.Columns.Count + 2; iCol <= _axfpSpread.MaxCols; iCol++)
                {
                    _axfpSpread.set_ColWidth(iCol, 0);
                }
            }
        }
Beispiel #4
0
 private void MergeRowGroupCol(AxFPUSpreadADO.AxfpSpread gridObject, int iStartCol, int iEndCol, int iRow)
 {
     try
     {
         string sTemp1 = "";
         string sTemp2 = "";
         int    iCol   = iStartCol;
         gridObject.Row = iRow;
         gridObject.Col = iStartCol;
         sTemp1         = gridObject.Value;
         for (int i = iStartCol; i <= iEndCol; i++)
         {
             gridObject.Row = iRow;
             gridObject.Col = i;
             sTemp2         = gridObject.Value;
             if (sTemp1 != sTemp2)
             {
                 gridObject.AddCellSpan(iCol, iRow, i - iCol, 1);
                 sTemp1 = sTemp2;
                 sTemp2 = "";
                 iCol   = i;
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
 private void MergeCol(AxFPUSpreadADO.AxfpSpread gridObject, int iStartRow, int iCol)
 {
     try
     {
         string sTemp1 = "";
         string sTemp2 = "";
         int iRow = iStartRow;
         gridObject.Row = iStartRow;
         gridObject.Col = iCol;
         sTemp1 = gridObject.Value;
         for (int i = iStartRow; i < gridObject.MaxRows + 4; i++)
         {
             gridObject.Row = i;
             gridObject.Col = iCol;
             sTemp2 = gridObject.Value;
             if (sTemp1 != sTemp2)
             {
                 gridObject.AddCellSpan(iCol, iRow, 1, i - iRow);
                 sTemp1 = sTemp2;
                 sTemp2 = "";
                 iRow = i;
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Beispiel #6
0
        private void MachineHeadTop(int arg_icol, int arg_irow, int arg_idt, DataTable arg_dt, AxFPUSpreadADO.AxfpSpread arg_grid)
        {
            try
            {
                arg_grid.Col  = arg_icol;
                arg_grid.Row  = arg_irow;
                arg_grid.Text = "Line " + arg_dt.Rows[arg_idt]["LINE_NAME"].ToString();
                arg_grid.Font = new System.Drawing.Font("Calibri", 12, FontStyle.Bold);
                axGridTop.set_RowHeight(arg_irow, 20);
                arg_grid.BackColor  = Color.DodgerBlue;
                arg_grid.ForeColor  = Color.White;
                arg_grid.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
                arg_grid.AddCellSpan(arg_icol, arg_irow, Convert.ToInt32(arg_dt.Rows[arg_idt]["NUM_MINI_LINE"]), 1);

                //arg_grid.SetCellBorder(icol, irow, icol + 2, irow + 1, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexOutline, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
                // arg_grid.SetCellBorder(icol, irow, icol + 3, irow + 1, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexLeft, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
                //arg_grid.SetCellBorder(icol, irow, icol + 2, irow +1, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexBottom, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
                //arg_grid.SetCellBorder(icol, irow, icol + 2, irow, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexTop, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);


                //arg_irow++;
                //arg_grid.Row = arg_irow;
                //arg_grid.Col = arg_icol;
                //arg_grid.Text = "STA";
                //arg_grid.BackColor = Color.LightSkyBlue;
                ////  arg_grid.ForeColor = Color.White;
                //arg_grid.Font = new System.Drawing.Font("Calibri", 15, FontStyle.Bold);

                //arg_grid.Col = arg_icol + 1;
                //arg_grid.Text = "L";
                //arg_grid.BackColor = Color.LightSkyBlue;
                ////  arg_grid.ForeColor = Color.White;
                //arg_grid.Font = new System.Drawing.Font("Calibri", 15, FontStyle.Bold);

                //arg_grid.Col = arg_icol + 2;
                //arg_grid.Text = "R";
                //arg_grid.BackColor = Color.LightSkyBlue;
                ////  arg_grid.ForeColor = Color.White;
                //arg_grid.Font = new System.Drawing.Font("Calibri", 15, FontStyle.Bold);
            }
            catch
            { }
        }
        private void load_grid(AxFPUSpreadADO.AxfpSpread axGrid)
        {
            int imax     = Convert.ToInt16(_dt_chart.Rows[0]["COL_COUNT"]);
            int iColSpan = Convert.ToInt16(_dt_chart.Rows[0]["COL_SPAN"]);

            axGrid.MaxCols = imax + 2;

            axGrid.AddCellSpan(3, 4, iColSpan, 1);

            axGrid.SetText(1, 1, EmptyIfNull(_dt_chart.Rows[0][axGrid.Name.Replace("axGrid_", "") + "_GNAME"].ToString()));
            for (int i = 0; i < imax; i++)
            {
                axGrid.SetText(i + 3, 1, _dt_chart.Rows[i]["TITLE"].ToString());
                axGrid.SetText(i + 3, 2, EmptyIfNull2(_dt_chart.Rows[i][axGrid.Name.Replace("axGrid_", "")].ToString()));
                axGrid.SetText(i + 3, 3, EmptyIfNull(_dt_chart.Rows[i][axGrid.Name.Replace("axGrid_", "") + "_PER"].ToString() + "%"));
                axGrid.SetText(3, 4, EmptyIfNull(_dt_chart.Rows[0][axGrid.Name.Replace("axGrid_", "") + "_IM"].ToString() + "%"));
                axGrid.set_ColWidth(i + 3, Convert.ToDouble(_dt_chart.Rows[i]["COL_WIDTH"]));

                axGrid.Col      = i + 3;
                axGrid.Row      = 1;
                axGrid.FontSize = Convert.ToSingle(_dt_chart.Rows[i]["FONT"]);
                axGrid.Row      = 4;

                if (i >= iColSpan)
                {
                    axGrid.BackColor = Color.White;
                }
                else
                {
                    axGrid.BackColor = Color.Navy;
                }
                axGrid.FontSize = 35f;
                axGrid.FontBold = true;
            }

            axGrid.SetCellBorder(1, 1, axGrid.MaxCols, axGrid.MaxRows, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexLeft, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
            axGrid.SetCellBorder(1, 2, axGrid.MaxCols, axGrid.MaxRows, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexBottom, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
            axGrid.SetCellBorder(1, 2, axGrid.MaxCols, axGrid.MaxRows, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexTop, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
        }
Beispiel #8
0
        private void Display_Grid(AxFPUSpreadADO.AxfpSpread _axfpSpread, DataTable _dt)
        {
            //_axfpSpread.AddCellSpan(2, 1, _dt.Columns.Count-2, 1);
            //_axfpSpread.SetText(2, 1, DateTime.ParseExact(_dt.Columns[2].Caption.ToString().Substring(1, 8), "yyyyMMdd", CultureInfo.InvariantCulture).ToString("MMMM", CultureInfo.InvariantCulture));
            ClearGrid(_axfpSpread);
            for (int iRow = 0; iRow < _dt.Rows.Count; iRow++)
            {
                int    iNumber = 0;
                double dTotal  = 0;
                double d       = Math.Round((159 - 10.75 - 10 * 2) / (_dt.Columns.Count - 2), 2);
                for (int iCol = 1; iCol < _dt.Columns.Count; iCol++)
                {
                    _axfpSpread.set_ColWidth(iCol + 1, d);
                    if (iRow == 0 && iCol > 1)
                    {
                        _axfpSpread.SetText(iCol, iRow + 1, DateTime.ParseExact(_dt.Columns[iCol].Caption.ToString().Substring(1, 8), "yyyyMMdd", CultureInfo.InvariantCulture).ToString("MMM", CultureInfo.InvariantCulture));
                        _axfpSpread.SetText(iCol, iRow + 2, _dt.Columns[iCol].Caption.ToString().Substring(7, 2));
                    }
                    _axfpSpread.SetText(iCol, iRow + 3, _dt.Rows[iRow][iCol].ToString());
                    if (_dt.Rows[iRow][iCol].ToString() != "" && _dt.Rows[iRow][iCol].ToString() != "0" && iCol > 1)
                    {
                        dTotal += Convert.ToDouble(_dt.Rows[iRow][iCol].ToString());
                        iNumber++;
                    }
                }

                if (iNumber != 0)
                {
                    _axfpSpread.SetText(_dt.Columns.Count, iRow + 3, Math.Round(dTotal / iNumber, 1));
                    _axfpSpread.SetText(_dt.Columns.Count + 1, iRow + 3, Math.Round(dTotal, 1));
                }
                else
                {
                    _axfpSpread.SetText(_dt.Columns.Count, iRow + 3, 0);
                    _axfpSpread.SetText(_dt.Columns.Count + 1, iRow + 3, 0);
                }
            }

            double dd = 159 - 10.75 - (_dt.Columns.Count - 1) * (_axfpSpread.get_ColWidth(_dt.Columns.Count - 2));

            _axfpSpread.AddCellSpan(_dt.Columns.Count, 1, 1, 2);
            _axfpSpread.SetText(_dt.Columns.Count, 1, "Avg");
            _axfpSpread.Row       = 1;
            _axfpSpread.Col       = _dt.Columns.Count;
            _axfpSpread.BackColor = Color.Orange;
            _axfpSpread.ForeColor = Color.White;
            _axfpSpread.set_ColWidth(_dt.Columns.Count, dd / 2);


            _axfpSpread.AddCellSpan(_dt.Columns.Count + 1, 1, 1, 2);
            _axfpSpread.SetText(_dt.Columns.Count + 1, +1, "Total");
            _axfpSpread.Row       = 1;
            _axfpSpread.Col       = _dt.Columns.Count + 1;
            _axfpSpread.BackColor = Color.DodgerBlue;
            _axfpSpread.ForeColor = Color.White;
            _axfpSpread.set_ColWidth(_dt.Columns.Count + 1, dd / 2);

            for (int iCol = _dt.Columns.Count + 2; iCol <= _axfpSpread.MaxCols; iCol++)
            {
                _axfpSpread.set_ColWidth(iCol, 0);
            }
            for (int i = _dt.Rows.Count + 1; i <= _axfpSpread.MaxRows; i++)
            {
                _axfpSpread.set_RowHeight(i + 2, 0);
            }

            MergeRowGroupCol(_axfpSpread, 2, _dt.Columns.Count, 1);
        }
Beispiel #9
0
        private void DisplayGridRight(DataTable arg_dt, AxFPUSpreadADO.AxfpSpread arg_grid)
        {
            int irow = 1, icol = 0;
            int iTotInput = 0, iTotMold = 0, iInput = 0, iMold = 0;
            int divRow = 11;

            arg_grid.Reset();
            //arg_grid.BorderStyle = FPUSpreadADO.BorderStyleConstants.BorderStyleNone;
            arg_grid.GrayAreaBackColor        = Color.White;
            arg_grid.DisplayColHeaders        = false;
            arg_grid.DisplayRowHeaders        = false;
            arg_grid.ActiveCellHighlightStyle = FPUSpreadADO.ActiveCellHighlightStyleConstants.ActiveCellHighlightStyleOff;
            arg_grid.ColHeaderRows            = 0;
            arg_grid.ScrollBars = FPUSpreadADO.ScrollBarsConstants.ScrollBarsNone;
            arg_grid.Font       = new System.Drawing.Font("Calibri", 11);
            //arg_grid.set_RowHeight(1, 0.5);
            //arg_grid.set_ColWidth(1, 0.5);
            arg_grid.TypeHAlign        = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            arg_grid.TypeVAlign        = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            arg_grid.TypeEditMultiLine = true;

            arg_grid.Row      = 1;
            arg_grid.FontBold = true;



            //for (int ic = 1; ic <= 50; ic++)
            //    arg_grid.set_ColWidth(ic, 12);

            for (int ir = 1; ir <= divRow; ir++)
            {
                arg_grid.set_RowHeight(ir, 15);
            }

            // arg_grid.set_RowHeight(1, 22);
            arg_grid.set_RowHeight(divRow + 1, 18);

            GridRightHead(1, arg_grid);
            arg_grid.SetCellBorder(1, 1, arg_grid.MaxCols, divRow + 1, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexLeft, 0x4286f4, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
            arg_grid.SetCellBorder(1, 1, arg_grid.MaxCols, divRow + 1, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexBottom, 0x4286f4, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
            for (int i = 0; i < arg_dt.Rows.Count; i++)
            {
                if (irow == divRow)
                {
                    icol += 4;
                    irow  = 2;
                    GridRightHead(icol + 1, arg_grid);
                    arg_grid.set_ColWidth(icol, 2);
                    arg_grid.SetCellBorder(icol, 1, icol, divRow - 1, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexBottom, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleBlank);
                    //arg_grid.SetCellBorder(irow , icol , 4, divRow, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexLeft, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
                    // arg_grid.SetCellBorder(irow , icol, 4, divRow, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexBottom, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
                }
                else
                {
                    irow++;
                }

                iInput = Convert.ToInt32(arg_dt.Rows[i]["MOLD_INPUT"]);
                iMold  = Convert.ToInt32(arg_dt.Rows[i]["QTY"]);

                arg_grid.SetText(icol + 1, irow, arg_dt.Rows[i]["SHORT_NAME"].ToString());
                arg_grid.SetText(icol + 2, irow, iMold.ToString("###,###,###"));
                arg_grid.SetText(icol + 3, irow, iInput.ToString("###,###,###"));

                iTotInput += Convert.ToInt32(arg_dt.Rows[i]["MOLD_INPUT"]);
                iTotMold  += Convert.ToInt32(arg_dt.Rows[i]["QTY"]);
            }

            arg_grid.AddCellSpan(1, divRow + 1, 13, 1);

            arg_grid.SetText(1, divRow + 1, "Total");
            arg_grid.SetText(icol + 3, divRow + 1, iTotInput.ToString("###,###,###"));
            arg_grid.SetText(icol + 2, divRow + 1, iTotMold.ToString("###,###,###"));
            arg_grid.Col        = -1;
            arg_grid.Row        = divRow + 1;
            arg_grid.BackColor  = Color.FromArgb(232, 232, 127);
            arg_grid.FontBold   = true;
            arg_grid.FontSize   = 14;
            arg_grid.Col        = 1;
            arg_grid.TypeHAlign = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            arg_grid.MaxRows    = divRow + 1;
            arg_grid.MaxCols    = 15;
        }
Beispiel #10
0
        private void DisplayGridLeft(DataTable arg_dt, AxFPUSpreadADO.AxfpSpread arg_grid)
        {
            int irow = 1, icol = 0, divRow;
            int iTotMachine = 0, iTotInput = 0, iTotBal = 0;

            arg_grid.Reset();
            // arg_grid.BorderStyle = FPUSpreadADO.BorderStyleConstants.BorderStyleNone;
            arg_grid.GrayAreaBackColor        = Color.White;
            arg_grid.DisplayColHeaders        = false;
            arg_grid.DisplayRowHeaders        = false;
            arg_grid.ActiveCellHighlightStyle = FPUSpreadADO.ActiveCellHighlightStyleConstants.ActiveCellHighlightStyleOff;
            arg_grid.ColHeaderRows            = 0;
            arg_grid.ScrollBars = FPUSpreadADO.ScrollBarsConstants.ScrollBarsNone;
            arg_grid.Font       = new System.Drawing.Font("Calibri", 11);
            //arg_grid.set_RowHeight(1, 0.5);
            //arg_grid.set_ColWidth(1, 0.5);
            arg_grid.TypeHAlign        = FPUSpreadADO.TypeHAlignConstants.TypeHAlignCenter;
            arg_grid.TypeVAlign        = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
            arg_grid.TypeEditMultiLine = true;

            arg_grid.Row      = 1;
            arg_grid.FontBold = true;


            //for (int ic = 1; ic <= 50; ic++)
            //    arg_grid.set_ColWidth(ic, 12);



            var query = from DataRow dRow in arg_dt.AsEnumerable()
                        //  where p.Used = "N"
                        group dRow by dRow["LINE_NAME"] into gp
                        select new
            {
                Line    = gp.Key,
                Machine = gp.Count(),
                Input   = gp.Count(dRow => dRow.Field <string>("USE_YN") == "Y")
            };

            divRow = (query.Count() / 2) + 2;
            for (int ir = 1; ir <= divRow; ir++)
            {
                arg_grid.set_RowHeight(ir, 15);
            }

            arg_grid.set_RowHeight(divRow + 1, 18);
            arg_grid.MaxCols = 9;
            arg_grid.MaxRows = divRow + 1;
            GridLeftHead(1, arg_grid);

            arg_grid.SetCellBorder(1, 1, arg_grid.MaxCols, divRow + 1, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexLeft, 0x4286f4, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
            arg_grid.SetCellBorder(1, 1, arg_grid.MaxCols, divRow + 1, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexBottom, 0x4286f4, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);


            foreach (var element in query)
            {
                if (irow == divRow)
                {
                    icol += 5;
                    irow  = 2;
                    GridLeftHead(icol + 1, arg_grid);
                    arg_grid.set_ColWidth(icol, 2);
                    arg_grid.SetCellBorder(icol, 1, icol, divRow - 1, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexBottom, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleBlank);
                    //arg_grid.SetCellBorder(irow , icol , 4, divRow, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexLeft, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
                    // arg_grid.SetCellBorder(irow , icol, 4, divRow, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexBottom, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
                }
                else
                {
                    irow++;
                }

                arg_grid.SetText(icol + 1, irow, element.Line);
                arg_grid.SetText(icol + 2, irow, element.Machine);
                arg_grid.SetText(icol + 3, irow, element.Input);
                arg_grid.SetText(icol + 4, irow, element.Machine - element.Input);

                iTotMachine += element.Machine;
                iTotInput   += element.Input;
                iTotBal     += (element.Machine - element.Input);
            }

            arg_grid.AddCellSpan(1, divRow + 1, 6, 1);

            arg_grid.SetText(1, divRow + 1, "Total");
            arg_grid.SetText(icol + 2, divRow + 1, iTotMachine.ToString());
            arg_grid.SetText(icol + 3, divRow + 1, iTotInput.ToString());
            arg_grid.SetText(icol + 4, divRow + 1, iTotBal.ToString());
            arg_grid.Col       = -1;
            arg_grid.Row       = divRow + 1;
            arg_grid.BackColor = Color.FromArgb(232, 232, 127);
            arg_grid.FontBold  = true;
            arg_grid.FontSize  = 14;
        }
        private void MachineHead(int arg_icol, int arg_irow, int arg_idt, DataTable arg_dt, AxFPUSpreadADO.AxfpSpread arg_grid)
        {
            try
            {
                int iRow = Convert.ToInt32(arg_dt.Rows[arg_idt]["NUM_MINI_LINE"]);
                arg_grid.Col      = arg_icol;
                arg_grid.Row      = arg_irow;
                arg_grid.Text     = "Line " + arg_dt.Rows[arg_idt]["LINE_NAME"].ToString();
                arg_grid.FontSize = 11;
                arg_grid.FontBold = true;

                arg_grid.BackColor  = Color.DodgerBlue;
                arg_grid.ForeColor  = Color.White;
                arg_grid.TypeVAlign = FPUSpreadADO.TypeVAlignConstants.TypeVAlignCenter;
                arg_grid.AddCellSpan(arg_icol, arg_irow, iRow * 3, 1);

                //arg_grid.SetCellBorder(arg_icol, arg_irow, arg_icol, arg_irow, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexOutline, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
                // arg_grid.SetCellBorder(icol, irow, icol + 3, irow + 1, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexLeft, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
                //arg_grid.SetCellBorder(icol, irow, icol + 2, irow +1, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexBottom, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);
                //arg_grid.SetCellBorder(icol, irow, icol + 2, irow, FPUSpreadADO.CellBorderIndexConstants.CellBorderIndexTop, 0, FPUSpreadADO.CellBorderStyleConstants.CellBorderStyleSolid);


                arg_irow++;
                arg_grid.Row = arg_irow;
                for (int i = 0; i < iRow; i++)
                {
                    if (arg_dt.Rows[arg_idt]["LINE_NAME"].ToString() == "E")
                    {
                        arg_grid.set_ColWidth(arg_icol + (i * 3), 6.0);
                    }

                    arg_grid.Col       = arg_icol + (i * 3);
                    arg_grid.Text      = "M/C";
                    arg_grid.BackColor = Color.LightSkyBlue;
                    //  arg_grid.ForeColor = Color.White;
                    arg_grid.FontSize = 11;
                    arg_grid.FontBold = true;

                    arg_grid.Col       = arg_icol + (i * 3) + 1;
                    arg_grid.Text      = "Plan";
                    arg_grid.BackColor = Color.Green;
                    arg_grid.ForeColor = Color.White;
                    arg_grid.FontSize  = 11;
                    arg_grid.FontBold  = true;

                    arg_grid.Col       = arg_icol + (i * 3) + 2;
                    arg_grid.Text      = "Act";
                    arg_grid.BackColor = Color.Orange;
                    arg_grid.ForeColor = Color.White;
                    arg_grid.FontSize  = 11;
                    arg_grid.FontBold  = true;
                }
                arg_grid.Col = -1;
                arg_grid.set_RowHeight(arg_irow, 20);

                //arg_grid.Col = arg_icol + 2;
                //arg_grid.Text = "R";
                //arg_grid.BackColor = Color.LightSkyBlue;
                ////  arg_grid.ForeColor = Color.White;
                //arg_grid.Font = new System.Drawing.Font("Calibri", 15, FontStyle.Bold);
            }
            catch
            { }
        }