public virtual void rootElement_LayoutUpdated(object sender, EventArgs e) { String oldPrevItemWidth = rptConfig.GetConfigValue("PrevItemWidth"); String oldPrevAreaHeight = rptConfig.GetConfigValue("PrevAreaHeight"); String hstr1 = CUtil.FormatNumber(oldPrevAreaHeight); String wstr1 = CUtil.FormatNumber(oldPrevItemWidth); double areaHeight = tablePanel.ActualHeight - headerPanel.ActualHeight; double areaWidth = tablePanel.ActualWidth; GridLength gl = (GridLength)primaryColumns[descriptionColumnIndex]; double colWidth = getDescColumnWidth(areaWidth); String hstr2 = CUtil.FormatNumber(areaHeight.ToString()); String wstr2 = CUtil.FormatNumber(colWidth.ToString()); if (!hstr1.Equals(hstr2) || !wstr1.Equals(wstr2)) { rptConfig.SetConfigValue("PrevItemWidth", colWidth.ToString(), "double", ""); rptConfig.SetConfigValue("PrevAreaHeight", areaHeight.ToString(), "double", ""); CReportConfigs.SaveReportConfig(null, rptConfig); CHelper.ShowErorMessage("", "ERROR_PREVIEW_AGAIN", null); } }
public UFormPayrollWithdraw(MBaseModel model, int page, int totalPage, MReportConfig cfg, CReportPageParam param) { if (model == null) { model = new MVPayrollDocument(new Wis.WsClientAPI.CTable("")); } dataSource = model; payrollDoc = (MVPayrollDocument)model; pageNo = page; pageCount = totalPage; pageParam = param; rptConfig = cfg; String format1 = rptConfig.GetConfigValue("Format1"); format1Widths = format1.Split('|'); String format2 = rptConfig.GetConfigValue("Format2"); format2Widths = format2.Split('|'); init(); int idx = pageNo - 1; item = payrollDoc.GetItemByIndex(idx); if (item == null) { item = new MVPayrollDocumentItem(new Wis.WsClientAPI.CTable("")); } numberTextAmount = item.GrandTotalAmount; item.InitializeAfterLoaded(); DataContext = model; InitializeComponent(); }
private double getItemHeight(double maxWidth, MBaseModel m, String fieldName) { Boolean wrappFlag = rptCfg.GetConfigValue("WrapFlag").Equals("Y"); if (!wrappFlag || maxWidth <= 0) { double rh = CUtil.StringToDouble(rptCfg.GetConfigValue("ItemRowHeight")); if (rh <= 0) { rh = 30; //Default value } return(rh); } String itemDesc = " "; if (!fieldName.Equals("")) { itemDesc = (String)m.GetType().GetProperty(fieldName).GetValue(m, null); } String fontName = rptCfg.GetConfigValue("FontName"); double fontSize = CUtil.StringToDouble(rptCfg.GetConfigValue("FontSize")); TextBlock tb = new TextBlock(); tb.Text = itemDesc; tb.TextWrapping = TextWrapping.Wrap; tb.FontFamily = new FontFamily(fontName);; tb.FontSize = fontSize; tb.HorizontalAlignment = HorizontalAlignment.Left; tb.VerticalAlignment = VerticalAlignment.Center; tb.FontWeight = FontWeights.Bold; tb.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity)); tb.Arrange(new Rect(0, 0, maxWidth, 1000)); double h1 = tb.ActualHeight; int lineCnt = (int)Math.Ceiling(tb.ActualWidth / maxWidth); double h = (lineCnt * h1) + 10; //Margin top and bottom, ONLY applicable to 5pt margin top and bottom tb = null; return(h); }
private void constructUI() { String value = ""; foreach (CEntry en in entries) { Label label = new Label(); label.Height = en.EntryHeight; label.Content = CLanguage.getValue(en.LabelContentKey); label.VerticalAlignment = VerticalAlignment.Center; label.VerticalContentAlignment = VerticalAlignment.Center; label.HorizontalContentAlignment = HorizontalAlignment.Right; label.Margin = new Thickness(20, 0, 0, 5); pnlLabel.Children.Add(label); FrameworkElement ctrl = new TextBlock(); if ((en.EntryType == EntryType.ENTRY_DATE_MIN) || (en.EntryType == EntryType.ENTRY_DATE_MAX)) { ctrl = new UDatePicker(); ctrl.HorizontalAlignment = HorizontalAlignment.Left; ctrl.VerticalAlignment = VerticalAlignment.Center; value = rptCfg.GetConfigValue(en.FieldName, ""); if (!value.Equals("")) { (ctrl as UDatePicker).SelectedDate = CUtil.InternalDateToDate(value); } } else if (en.EntryType == EntryType.ENTRY_MONTH_YEAR) { ctrl = new UDateEntry(); (ctrl as UDateEntry).ButtonVisible = true; (ctrl as UDateEntry).OnlyMonth = true; ctrl.HorizontalAlignment = HorizontalAlignment.Left; ctrl.VerticalAlignment = VerticalAlignment.Center; value = rptCfg.GetConfigValue(en.FieldName, ""); if (!value.Equals("")) { (ctrl as UDateEntry).SelectedDate = CUtil.InternalDateToDate(value); } else { (ctrl as UDateEntry).SelectedDate = DateTime.Now; } } else if (en.EntryType == EntryType.ENTRY_TEXT_BOX) { ctrl = new TextBox(); ctrl.HorizontalAlignment = HorizontalAlignment.Left; ctrl.VerticalAlignment = VerticalAlignment.Center; (ctrl as TextBox).VerticalContentAlignment = VerticalAlignment.Center; value = rptCfg.GetConfigValue(en.FieldName, ""); (ctrl as TextBox).Text = value; } else if (en.EntryType == EntryType.ENTRY_CHECK_BOX) { ctrl = new CheckBox(); ctrl.HorizontalAlignment = HorizontalAlignment.Left; ctrl.VerticalAlignment = VerticalAlignment.Center; (ctrl as CheckBox).VerticalContentAlignment = VerticalAlignment.Top; (ctrl as CheckBox).Content = label.Content; //เอาค่าจาก label มาแสดงที่ checkbox แทน label.Content = ""; value = rptCfg.GetConfigValue(en.FieldName, ""); (ctrl as CheckBox).IsChecked = flagToBoolean(value); } else if (en.EntryType == EntryType.ENTRY_COMBO_BOX) { ctrl = new ComboBox(); ctrl.HorizontalAlignment = HorizontalAlignment.Left; ctrl.VerticalAlignment = VerticalAlignment.Center; (ctrl as ComboBox).VerticalContentAlignment = VerticalAlignment.Center; value = rptCfg.GetConfigValue(en.FieldName, ""); en.ComboSetupFunction((ctrl as ComboBox)); en.ComboLoaderFunction((ctrl as ComboBox), value); } ctrl.Margin = new Thickness(5, 0, 0, 5); ctrl.Width = en.EntryWidth; ctrl.Height = en.EntryHeight; en.ActualUI = ctrl; en.ActualLabel = label; pnlEntry.Children.Add(ctrl); value = rptCfg.GetConfigValue((String)txtFromPage.Tag, ""); txtFromPage.Text = value; value = rptCfg.GetConfigValue((String)txtToPage.Tag, ""); txtToPage.Text = value; value = rptCfg.GetConfigValue((String)txtLeft.Tag, ""); txtLeft.Text = value; value = rptCfg.GetConfigValue((String)txtTop.Tag, ""); txtTop.Text = value; value = rptCfg.GetConfigValue((String)txtBottom.Tag, ""); txtBottom.Text = value; value = rptCfg.GetConfigValue((String)txtRight.Tag, ""); txtRight.Text = value; cbxPageRange.IsEnabled = paginator.IsNewVersion(); } }