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++; } }