Exemple #1
0
        int DrawGrdRows(MprObjGrd grd, ArrayList rows, bool isDetails, int s, int f, int yStart)
        {
            int y = yStart;

            if (grd.Columns.Count > 0)
            {

                for (int i = s; i <= f; i++)
                {
                    int x = isDetails ? grd.Location.X : 0;

                    if (i == 0 && grd.ColumnHeaderPrinted)
                    {
                        y = DrawGrdHeader(grd, isDetails, y);
                    }
                    else if (i == rows.Count - 1 && grd.ColumnFooterPrinted)
                    {
                        y = DrawGrdFooter(grd, isDetails, y);
                    }
                    else
                    {
                        for (int j = 0; j < grd.Columns.Count; j++)
                        {
                            MprObjGrdCol c = grd.Columns[j];

                            int width = (c.WidthType == ColumnWidthType.Constant) ?
                                c.WidthConstant :
                                c.WidthPercent * grd.Width / 100;

                            switch (c.Category)
                            {
                                case ColumnCategory.Ordinal:
                                    DrawTxtFld(
                                    grd.ColumnHeaderPrinted ? i.ToString() : (i + 1).ToString(),
                                    x, y, width, grd.RowHeight,
                                    c.RowCellStyle == (GridCellStyle.HeaderStyle) ? c.HeaderTextStyle : grd.TextStyle,
                                    ObjectShape.Rectangle,
                                    c.RowCellStyle == (GridCellStyle.HeaderStyle) ? c.HeaderBoxStyle : grd.BoxStyle,
                                    null
                                    );
                                    break;
                                case ColumnCategory.Text:
                                    DrawTxtFld(
                                    EvaluateStaticText((rows[i] as ArrayList)[j].ToString()),
                                    x, y, width, grd.RowHeight,
                                    c.RowCellStyle == (GridCellStyle.HeaderStyle) ? c.HeaderTextStyle : grd.TextStyle,
                                    ObjectShape.Rectangle,
                                    c.RowCellStyle == (GridCellStyle.HeaderStyle) ? c.HeaderBoxStyle : grd.BoxStyle,
                                    null
                                    );
                                    break;
                                case ColumnCategory.Image:
                                    DrawImgFld(
                                    UtlConvert.ToImage((rows[i] as ArrayList)[j] as byte[]),
                                    x, y, ImageSizeMode.Zoom, width, grd.RowHeight,
                                    c.RowCellStyle == (GridCellStyle.HeaderStyle) ? c.HeaderBoxStyle : grd.BoxStyle
                                    );
                                    break;
                                default:
                                    break;
                            }

                            x += width;
                        }

                        y += grd.RowHeight;
                    }
                }
            }

            return y;
        }
Exemple #2
0
        int DrawGrdHeader(MprObjGrd grd, bool isDetails, int yStart)
        {
            int x = isDetails ? grd.Location.X : 0;

            for (int j = 0; j < grd.Columns.Count; j++)
            {
                MprObjGrdCol c = grd.Columns[j];

                int width = (c.WidthType == ColumnWidthType.Constant) ?
                    c.WidthConstant :
                    c.WidthPercent * grd.Width / 100;

                DrawTxtFld(
                    (c.HeaderType == ObjectType.Static) ? EvaluateStaticText(c.HeaderText) : Cfg.DbRpt.ExecuteS(DataSourceDbType, DataSourceFullCs, c.HeaderTextSQL, PRM.ToArray()).ToString(),
                    x, yStart, width, grd.ColumnHeaderHeight,
                    (c.HeaderCellStyle == GridCellStyle.HeaderStyle) ? c.HeaderTextStyle :
                    (c.HeaderCellStyle == GridCellStyle.GridStyle) ? grd.TextStyle : c.FooterTextStyle,
                    ObjectShape.Rectangle,
                    (c.HeaderCellStyle == GridCellStyle.HeaderStyle) ? c.HeaderBoxStyle :
                    (c.HeaderCellStyle == GridCellStyle.GridStyle) ? grd.BoxStyle : c.FooterBoxStyle,
                    null
                    );

                x += width;
            }

            return yStart + grd.ColumnHeaderHeight;
        }
Exemple #3
0
        public static int ToDb(MprObjGrd obj, string id_obj)
        {
            if (id_obj == null)
            {
                return
                    Cfg.DbRpt.Insert(true, MprTblObj.TableName, MprTblObj.id_obj,
                    MprTblObj.id_rpt_obj, obj.IDReport,
                    MprTblObj.name_obj, obj.Name,
                    MprTblObj.cat_obj, obj.Category.ToString(),
                    MprTblObj.section_obj, obj.Section.ToString(),
                    MprTblObj.index_obj, obj.Index,
                    MprTblObj.printed_obj, obj.Printed,
                    MprTblObj.type_obj, obj.Type.ToString(),
                    MprTblObj.rotate_angle_obj, obj.RotateAngle,

                    MprTblObj.value_txt_obj, obj.Rows,
                    MprTblObj.value_sql_obj, obj.RowsSQL,
                    MprTblObj.grd_width_obj, obj.Width,
                    MprTblObj.location_obj, UtlConvert.ToString(obj.Location),
                    MprTblObj.grd_row_height_obj, obj.RowHeight,
                    MprTblObj.grd_col_hd_height_obj, obj.ColumnHeaderHeight,
                    MprTblObj.grd_col_ft_height_obj, obj.ColumnFooterHeight,
                    MprTblObj.grd_col_hd_printed_obj, obj.ColumnHeaderPrinted,
                    MprTblObj.grd_col_ft_printed_obj, obj.ColumnFooterPrinted,
                    MprTblObj.grd_columns_obj, UtlMprVwr.ToString(obj.Columns),
                    MprTblObj.style_txt_obj, obj.TextStyle.ToString(),
                    MprTblObj.style_rect_obj, obj.BoxStyle.ToString()
                    );
            }
            else
            {
                return
                    Cfg.DbRpt.Update(true, MprTblObj.TableName, MprTblObj.id_obj, obj.ID,
                    MprTblObj.id_rpt_obj, obj.IDReport,
                    MprTblObj.name_obj, obj.Name,
                    MprTblObj.cat_obj, obj.Category.ToString(),
                    MprTblObj.section_obj, obj.Section.ToString(),
                    MprTblObj.index_obj, obj.Index,
                    MprTblObj.printed_obj, obj.Printed,
                    MprTblObj.type_obj, obj.Type.ToString(),
                    MprTblObj.rotate_angle_obj, obj.RotateAngle,

                    MprTblObj.value_txt_obj, obj.Rows,
                    MprTblObj.value_sql_obj, obj.RowsSQL,
                    MprTblObj.grd_width_obj, obj.Width,
                    MprTblObj.location_obj, UtlConvert.ToString(obj.Location),
                    MprTblObj.grd_row_height_obj, obj.RowHeight,
                    MprTblObj.grd_col_hd_height_obj, obj.ColumnHeaderHeight,
                    MprTblObj.grd_col_ft_height_obj, obj.ColumnFooterHeight,
                    MprTblObj.grd_col_hd_printed_obj, obj.ColumnHeaderPrinted,
                    MprTblObj.grd_col_ft_printed_obj, obj.ColumnFooterPrinted,
                    MprTblObj.grd_columns_obj, UtlMprVwr.ToString(obj.Columns),
                    MprTblObj.style_txt_obj, obj.TextStyle.ToString(),
                    MprTblObj.style_rect_obj, obj.BoxStyle.ToString()
                    );
            }
        }
Exemple #4
0
        ArrayList Rows(MprObjGrd grd)
        {
            ArrayList rows = new ArrayList();

            if (grd.Columns.Count > 0)
            {

                if (grd.ColumnHeaderPrinted)
                {
                    rows.Add("ColumnHeader");
                }

                if (grd.Type == ObjectType.FromSQL)
                {
                    foreach (DataRow r in Cfg.DbRpt.DataTable(DataSourceDbType, DataSourceFullCs, grd.RowsSQL, PRM.ToArray()).Rows)
                    {
                        rows.Add(new ArrayList(r.ItemArray));
                    }
                }
                else
                {
                    string[] t = EvaluateStaticText(grd.Rows).Split(Cfg.SepObjGrdStaticRows, StringSplitOptions.None);

                    ArrayList row = new ArrayList();
                    for (int i = 0; i < t.Length; i++)
                    {
                        row.Add(t[i]);

                        if ((i + 1) % grd.Columns.Count == 0)
                        {
                            rows.Add(row);
                            row = new ArrayList();
                        }
                    }
                }

                if (grd.ColumnFooterPrinted)
                {
                    rows.Add("ColumnFooter");
                }
            }

            return rows;
        }
Exemple #5
0
 public static MprObjGrd FromDbToIH(string id_obj)
 {
     MprObjGrd obj = new MprObjGrd(id_obj);
     foreach (MprObjGrdCol c in obj.Columns)
     {
         c.WidthConstant = UtlConvert.ToIH(c.WidthConstant);
     }
     obj.Location = UtlConvert.ToIH(obj.Location);
     obj.RowHeight = UtlConvert.ToIH(obj.RowHeight);
     obj.ColumnHeaderHeight = UtlConvert.ToIH(obj.ColumnHeaderHeight);
     obj.ColumnFooterHeight = UtlConvert.ToIH(obj.ColumnFooterHeight);
     obj.Width = UtlConvert.ToIH(obj.Width);
     return obj;
 }