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