Example #1
0
        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();
        }
Example #3
0
        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);
        }
Example #4
0
        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();
            }
        }