Exemple #1
0
        public static DigiwinDateTimePicker CreateDateTimePicker(DependencyObject dataSource, string name, string bindingPropertyName
                                                                 , bool isReadOnly, bool visible, bool isDateTime, int tabeIndex)
        {
            DigiwinDateTimePicker dtp = new DigiwinDateTimePicker();

            dtp.Name     = name;
            dtp.TabIndex = tabeIndex;
            dtp.ReadOnly = isReadOnly;
            dtp.Visible  = visible;
            if (isDateTime)
            {
                dtp.DateTimeFormat = DateTimePickerFormat.Custom;
                dtp.FormatString   = "yyyy/MM/dd HH:mm:ss";
            }

            if (!string.IsNullOrEmpty(bindingPropertyName))
            {
                dtp.DataBindings.Add(new System.Windows.Forms.Binding("Value", dataSource.DefaultView, bindingPropertyName, true, DataSourceUpdateMode.OnPropertyChanged, OrmDataOption.EmptyDateTime));
            }

            return(dtp);
        }
        /// <summary>
        /// 组建界面
        /// </summary>
        /// <param name="dataSource"></param>
        private void CreateUIView()
        {
            //创建第一行函数列表
            Label firstLbl = ControlUtils.CreateLabel("lbl", "选择函数", false);

            _table.Controls.Add(firstLbl, 0, 0);
            LookUpEdit lookupFun = ControlUtils.CreateLookUpEdit(_dataSource, "Function", "Function", true, 0, null, 0);

            _table.Controls.Add(lookupFun, 1, 0);

            int index = 1;
            int row   = 1;

            foreach (ParaEntity para in CurrentFunction.ParaList)
            {
                //标签
                Label lbl = ControlUtils.CreateLabel("lbl", para.DisplayName, false);
                _table.Controls.Add(lbl, 0, row);

                //条件选项
                DigiwinPickListLookUpEdit condition = ControlUtils.CreatePickList(_dataSource, para.ConditionName, para.ConditionName, "Condition", false, null, 2);
                _table.Controls.Add(condition, 1, row);

                //参数
                #region 控件类型
                if (para.ParaTypeFlag == ParaTypeEnum.DataTime)
                {
                    DigiwinDateTimePicker date = ControlUtils.CreateDateTimePicker(_dataSource, para.Name, para.Name, false, index++);
                    _table.Controls.Add(date, 2, row);
                }
                else if (para.ParaTypeFlag == ParaTypeEnum.PickList)
                {
                    LookUpEdit lookup = ControlUtils.CreateLookUpEdit(_dataSource, para.Name, para.Name, true, 0, null, index++);
                    lookup.Anchor = AnchorStyles.Left;
                    lookup.Width  = 150;
                    GetPickDataSource(para.PickListTypeName, lookup);
                    _table.Controls.Add(lookup, 2, row);
                }
                else if (para.ParaTypeFlag == ParaTypeEnum.SelectControl)
                {
                    DigiwinSelectControl select = ControlUtils.CreateSelectControl(_dataSource, para.Name, para, false, false, index++);
                    select.Anchor = AnchorStyles.Left;
                    select.Width  = 150;
                    _table.Controls.Add(select, 2, row);
                }
                else if (para.ParaTypeFlag == ParaTypeEnum.Decimal)
                {
                    DigiwinTextBox dec = ControlUtils.CreateNumericTextBox(_dataSource, para.Name, para.Name, "0", true, false, 10, index++);
                    dec.Width = 150;
                    _table.Controls.Add(dec, 2, row);
                }
                else if (para.ParaTypeFlag == ParaTypeEnum.String)
                {
                    DigiwinTextBox str = ControlUtils.CreateNumericTextBox(_dataSource, para.Name, para.Name, "0", false, false, 10, index++);
                    str.Width = 150;
                    _table.Controls.Add(str, 2, row);
                }
                else if (para.ParaTypeFlag == ParaTypeEnum.Bool)
                {
                    DigiwinCheckBox chk = ControlUtils.CreateCheckBox(_dataSource, para.Name, para.Name, "", false, true, index++);
                    chk.Width = 50;
                    _table.Controls.Add(chk, 2, row);
                }
                #endregion
                para.Row    = row;
                para.Column = 2;

                row++;
            }
        }