示例#1
0
        /// <summary>
        /// 初始化ComboBox控件  ComboBox
        /// </summary>
        /// <param name="paramField_Start"></param>
        /// <param name="field"></param>
        /// <param name="isReadonly"></param>
        /// <returns></returns>
        private Field IniParamComboBox(string paramField_Start, ParamField field, bool isReadonly)
        {
            if (field.Type != ParamFieldType.ComboBox)
            {
                return(null);
            }
            ComboBox result = new ComboBox();

            result.Editable = false;
            DataTable dt = manager.GetComboBoxData(uiHelper.Name, field.FieldName);

            // .GetDataTableByStatement("GetComboBoxData@Select@" + uiHelper.Name + "@" + field.FieldName, null);
            foreach (DataRow row in dt.Rows)
            {
                Ext.Net.ListItem item = new Ext.Net.ListItem();
                item.Text  = row["ssValue"].ToString();
                item.Value = row["ssKey"].ToString();
                result.Items.Add(item);
            }
            if ((!field.Nullable) && (result.Items.Count > 0))
            {
                result.Value = result.Items[0].Value;
            }
            if (field.Nullable)
            {
                result.Triggers.Add(new FieldTrigger()
                {
                    Icon = TriggerIcon.Clear, HideTrigger = false
                });
                result.Listeners.TriggerClick.Handler = "this.clearValue();";
            }
            return(result);
        }
示例#2
0
        /// <summary>
        /// 初始化SearchBox控件  TriggerField
        /// </summary>
        /// <param name="paramField_Start"></param>
        /// <param name="field"></param>
        /// <param name="isReadonly"></param>
        /// <returns></returns>
        private Field IniParamSearchBox(string paramField_Start, ParamField field, bool isReadonly)
        {
            if (field.Type != ParamFieldType.SearchBox)
            {
                return(null);
            }
            TriggerField result = new TriggerField();

            result.ID       = paramField_Start + field.FieldName + "_TriggerField";
            result.Name     = paramField_Start + field.FieldName + "_TriggerField";
            result.Editable = false;
            result.Triggers.Add(new FieldTrigger()
            {
                Icon = TriggerIcon.Clear, HideTrigger = true
            });
            result.Triggers.Add(new FieldTrigger()
            {
                Icon = TriggerIcon.Search, HideTrigger = false
            });
            result.Listeners.TriggerClick.Fn = "get_" + field.FieldName + "_TriggerField";

            if (field.Nullable)
            {
                result.Triggers[0].HideTrigger = false;
            }

            return(result);
        }
示例#3
0
        /// <summary>
        /// 初始化TestBox控件  TextField
        /// </summary>
        /// <param name="paramField_Start"></param>
        /// <param name="field"></param>
        /// <param name="isReadonly"></param>
        /// <returns></returns>
        private Field IniParamTextBox(string paramField_Start, ParamField field, bool isReadonly)
        {
            if (field.Type != ParamFieldType.TextBox)
            {
                return(null);
            }
            TextFieldBase result = null;

            if (!field.IsMult)
            {
                result = new TextField();
            }
            else
            {
                // 多行文本框
                result = new TextArea();
            }

            if (!string.IsNullOrWhiteSpace(field.DefaultValue))
            {
                result.Text = field.DefaultValue;
            }

            return(result);
        }
示例#4
0
        /// <summary>
        /// 初始化控件基本信息
        /// </summary>
        /// <param name="field"></param>
        /// <param name="paramField_Start"></param>
        /// <param name="param"></param>
        /// <param name="container"></param>
        /// <param name="isReadonly"></param>
        private void IniField(Field field, string paramField_Start, ParamField param, Container container, bool isReadonly)
        {
            if (field == null)
            {
                return;
            }
            string  fieldName = paramField_Start + param.FieldName;
            Caption caption   = uiHelper.UiData.GetCaption(param.Caption, param.FieldName);

            if (string.IsNullOrWhiteSpace(field.ID))
            {
                field.ID = fieldName;
            }
            if (string.IsNullOrWhiteSpace(field.Name))
            {
                field.Name = fieldName;
            }
            this.IniAllParamField(fieldName, param);
            field.FieldLabel = caption.Value;
            field.LabelWidth = 80;
            field.LabelAlign = LabelAlign.Right;
            if (isReadonly || param.ReadOnly)
            {
                field.ReadOnly = true;
            }
            container.Add(field);
        }
示例#5
0
        /// <summary>
        /// 初始化添加项
        /// </summary>
        /// <param name="panel"></param>
        private void IniInsertPanel(Container panel)
        {
            string prefix           = UiControlNamePrefix.InsertParam + "c_";
            int    paramFieldsCount = uiHelper.Insert.Panel.ParamFields.Count;
            int    columncount      = uiHelper.Insert.Panel.ColumnCount;

            if (columncount == 0)
            {
                columncount = 1;
            }
            int    rowcount     = paramFieldsCount;
            double dColumnWidth = 1.0 / columncount;

            rowcount = rowcount / columncount + 1;
            for (int i = 0; i < columncount; i++)
            {
                Container container = new Container();
                container.ID          = prefix + i.ToString();
                container.Layout      = "FormLayout";
                container.Padding     = 5;
                container.ColumnWidth = dColumnWidth;
                for (int j = 0; j < rowcount; j++)
                {
                    int idx = j * columncount + i;
                    if (idx >= paramFieldsCount)
                    {
                        continue;
                    }
                    ParamField field = uiHelper.Insert.Panel.ParamFields[idx];
                    IniParamField(UiControlNamePrefix.InsertParam, field, container);
                }
                panel.Add(container);
            }
        }
示例#6
0
        /// <summary>
        /// 初始化 BeginEndDateBox 控件  FieldContainer=DateField+DateField
        /// </summary>
        /// <param name="paramField_Start"></param>
        /// <param name="field"></param>
        /// <param name="container"></param>
        /// <param name="isReadonly"></param>
        private void IniParamBeginEndDateBox(string paramField_Start, ParamField field, Container container, bool isReadonly)
        {
            if (field.Type != ParamFieldType.BeginEndDateBox)
            {
                return;
            }
            Caption        caption   = uiHelper.UiData.GetCaption(field.Caption, field.FieldName);
            FieldContainer result    = new FieldContainer();
            string         fieldName = paramField_Start + field.FieldName;

            this.IniAllParamField(fieldName, field);
            result.ID         = fieldName;
            result.FieldLabel = caption.Value;
            result.LabelWidth = 80;
            result.LabelAlign = LabelAlign.Right;
            result.Layout     = LayoutType.HBox.ToString();
            result.Flex       = 1;
            var defaultValue = field.DefaultValue;

            if (string.IsNullOrWhiteSpace(defaultValue))
            {
                defaultValue = string.Empty;
            }
            var values     = defaultValue.Split('|');
            var dateFields = new List <DateField>();

            dateFields.Add(new DateField()
            {
                ID = result.ID + UiHelper.BEGIN_DATE_STATE_END, FieldLabel = "起"
            });
            dateFields.Add(new DateField()
            {
                ID = result.ID + UiHelper.END_DATE_STATE_END, FieldLabel = "止"
            });
            for (int i = 0; i < dateFields.Count; i++)
            {
                var dateField = dateFields[i];
                dateField.LabelWidth     = 20;
                dateField.LabelSeparator = string.Empty;
                dateField.LabelAlign     = LabelAlign.Right;
                dateField.Format         = "yyyy-MM-dd";
                dateField.Flex           = 1;
                DateTime?dateFieldValue = DateTime.Now;
                if (values.Length > i)
                {
                    dateFieldValue = getDefaultDateTime(values[i]);
                }
                if (dateFieldValue != null)
                {
                    dateField.Text = ((DateTime)dateFieldValue).ToString(dateField.Format);
                }
                if (isReadonly || field.ReadOnly)
                {
                    dateField.ReadOnly = true;
                }
                result.Items.Add(dateField);
            }
            container.Add(result);
        }
示例#7
0
        private void IniAllParamField(string fieldName, ParamField field)
        {
            var dic = uiHelper.AllParamField;

            if (dic.ContainsKey(fieldName))
            {
                return;
            }
            dic.Add(fieldName, field);
        }
示例#8
0
        /// <summary>
        /// 初始化 BeginEndTextBox 控件  FieldContainer=TextField+TextField
        /// </summary>
        /// <param name="paramField_Start"></param>
        /// <param name="field"></param>
        /// <param name="container"></param>
        /// <param name="isReadonly"></param>
        private void IniParamBeginEndTextBox(string paramField_Start, ParamField field, Container container, bool isReadonly)
        {
            if (field.Type != ParamFieldType.BeginEndTextBox)
            {
                return;
            }
            Caption        caption   = uiHelper.UiData.GetCaption(field.Caption, field.FieldName);
            FieldContainer result    = new FieldContainer();
            string         fieldName = paramField_Start + field.FieldName;

            this.IniAllParamField(fieldName, field);
            result.ID         = fieldName;
            result.FieldLabel = caption.Value;
            result.LabelWidth = 80;
            result.LabelAlign = LabelAlign.Right;
            result.Layout     = LayoutType.HBox.ToString();
            result.Flex       = 1;
            var defaultValue = field.DefaultValue;

            if (string.IsNullOrWhiteSpace(defaultValue))
            {
                defaultValue = string.Empty;
            }
            var values     = defaultValue.Split('|');
            var textFields = new List <TextField>();

            textFields.Add(new TextField()
            {
                ID = result.ID + UiHelper.BEGIN_TEXT_STATE_END, FieldLabel = "起"
            });
            textFields.Add(new TextField()
            {
                ID = result.ID + UiHelper.END_TEXT_STATE_END, FieldLabel = "止"
            });
            for (int i = 0; i < textFields.Count; i++)
            {
                var textField = textFields[i];
                textField.LabelWidth     = 16;
                textField.LabelSeparator = string.Empty;
                textField.LabelAlign     = LabelAlign.Right;
                textField.Flex           = 1;
                if ((values.Length > i) && (!string.IsNullOrWhiteSpace(values[i])))
                {
                    textField.Text = values[i];
                }
                if (isReadonly || field.ReadOnly)
                {
                    textField.ReadOnly = true;
                }
                result.Items.Add(textField);
            }
            container.Add(result);
        }
示例#9
0
        /// <summary>
        /// 初始化Hidden控件  Hidden
        /// </summary>
        /// <param name="paramField_Start"></param>
        /// <param name="field"></param>
        /// <param name="isReadonly"></param>
        /// <returns></returns>
        private Field IniParamHidden(string paramField_Start, ParamField field, bool isReadonly)
        {
            if ((field.Type != ParamFieldType.SearchBox) && (field.IsShow))
            {
                return(null);
            }
            Hidden result = new Hidden();

            if (!string.IsNullOrWhiteSpace(field.DefaultValue))
            {
                result.Text = field.DefaultValue;
            }
            return(result);
        }
示例#10
0
        /// <summary>
        /// 初始化修改项
        /// </summary>
        /// <param name="panel"></param>
        private void IniUpdatePanel(Container panel)
        {
            string prefix        = UiControlNamePrefix.UpdateParam + "c_";
            bool   hasPrimarykey = false;

            foreach (var param in uiHelper.Update.Panel.ParamFields)
            {
                if (param.FieldName.Equals(uiHelper.UiData.Crud.Primarykey.FieldName, StringComparison.CurrentCultureIgnoreCase))
                {
                    hasPrimarykey = true;
                    break;
                }
            }
            if (!hasPrimarykey)
            {
                panel.Add(IniUpdatePrimarykey());
            }
            int paramFieldsCount = uiHelper.Update.Panel.ParamFields.Count;
            int columncount      = uiHelper.Update.Panel.ColumnCount;

            if (columncount == 0)
            {
                columncount = 1;
            }
            int    rowcount     = paramFieldsCount;
            double dColumnWidth = 1.0 / columncount;

            rowcount = rowcount / columncount + 1;
            for (int i = 0; i < columncount; i++)
            {
                Container container = new Container();
                container.ID          = prefix + i.ToString();
                container.Layout      = "FormLayout";
                container.Padding     = 5;
                container.ColumnWidth = dColumnWidth;
                for (int j = 0; j < rowcount; j++)
                {
                    int idx = j * columncount + i;
                    if (idx >= paramFieldsCount)
                    {
                        continue;
                    }
                    ParamField field = uiHelper.Update.Panel.ParamFields[idx];
                    IniParamField(UiControlNamePrefix.UpdateParam, field, container);
                }
                panel.Add(container);
            }
        }
示例#11
0
        /// <summary>
        /// 初始化NumberBox控件  NumberField
        /// </summary>
        /// <param name="paramField_Start"></param>
        /// <param name="field"></param>
        /// <param name="isReadonly"></param>
        /// <returns></returns>
        private Field IniParamNumberBox(string paramField_Start, ParamField field, bool isReadonly)
        {
            if (field.Type != ParamFieldType.NumberBox)
            {
                return(null);
            }
            NumberField result = new NumberField();

            if (!string.IsNullOrWhiteSpace(field.DefaultValue))
            {
                int _int = 0;
                if (int.TryParse(field.DefaultValue, out _int))
                {
                    result.Text = _int.ToString();
                }
            }
            return(result);
        }
示例#12
0
        /// <summary>
        /// 初始化查询项
        /// </summary>
        /// <param name="panel"></param>
        private void IniSeleteParamPanel(Container panel)
        {
            string prefix           = UiControlNamePrefix.SelectParam + "c_";
            int    paramFieldsCount = 3;

            if (uiHelper.Select.ParamPanel.ColumnCount > 0)
            {
                paramFieldsCount = uiHelper.Select.ParamPanel.ColumnCount;
            }
            else
            {
                if (uiHelper.UiType == UiType.SearchBox)
                {
                    paramFieldsCount = 1;
                }
            }
            double dColumnWidth = 1.0 / paramFieldsCount;
            int    count        = uiHelper.Select.ParamPanel.ParamFields.Count;
            int    rowscount    = count / paramFieldsCount + 1;

            for (int iCol = 0; iCol < paramFieldsCount; iCol++)
            {
                Container container = new Container();
                container.ID          = prefix + iCol.ToString();
                container.Layout      = "FormLayout";
                container.Padding     = 5;
                container.ColumnWidth = dColumnWidth;
                for (int iRow = 0; iRow < rowscount; iRow++)
                {
                    int i = iRow * paramFieldsCount + iCol;
                    if (i >= uiHelper.Select.ParamPanel.ParamFields.Count)
                    {
                        continue;
                    }
                    ParamField field = uiHelper.Select.ParamPanel.ParamFields[i];
                    IniParamField(UiControlNamePrefix.SelectParam, field, container);
                }
                if (container.Items.Count > 0)
                {
                    panel.Add(container);
                }
            }
        }
示例#13
0
        /// <summary>
        /// 初始化DateField控件  DateField
        /// </summary>
        /// <param name="paramField_Start"></param>
        /// <param name="field"></param>
        /// <param name="isReadonly"></param>
        /// <returns></returns>
        private Field IniParamDateField(string paramField_Start, ParamField field, bool isReadonly)
        {
            if (field.Type != ParamFieldType.DateBox)
            {
                return(null);
            }
            DateField result = new DateField();
            var       date   = getDefaultDateTime(field.DefaultValue);

            if (date != null)
            {
                result.Text = ((DateTime)date).ToString("yyyy-MM-dd");
            }
            result.Format = "yyyy-MM-dd";
            if (isReadonly || field.ReadOnly)
            {
                result.ReadOnly = true;
            }
            return(result);
        }
示例#14
0
        private object getValue(string key, string value)
        {
            if (string.IsNullOrWhiteSpace(value))
            {
                return(value);
            }
            object     result = value;
            ParamField field  = null;

            if (this.uiHelper.AllParamField.TryGetValue(key, out field))
            {
                #region ParamFieldType.DateBox
                if (field.Type == ParamFieldType.DateBox)
                {
                    DateTime dtResult = new DateTime();
                    if (DateTime.TryParse(value, out dtResult))
                    {
                        return(dtResult);
                    }
                    else
                    {
                        return(null);
                    }
                }
                #endregion

                #region ParamField.IsMult
                if (field.IsMult)
                {
                    if (field.Type == ParamFieldType.TextBox)
                    {
                        result = result.ToString().Replace("\r\n", "<br />").Replace("\r", "<br />").Replace("\n", "<br />");
                    }
                }
                #endregion
            }
            return(result);
        }
示例#15
0
 /// <summary>
 /// 初始化查询 主详细信息
 /// </summary>
 /// <param name="grid"></param>
 /// <param name="model"></param>
 public void IniSelectMainDetailContainer(Container panel)
 {
     #region 初始化显示字段
     string prefix      = UiControlNamePrefix.SelectMainDetail;
     int    columncount = 1;
     if (uiHelper.Select.MainDetail.ColumnCount > 0)
     {
         columncount = uiHelper.Select.MainDetail.ColumnCount;
     }
     double dColumnWidth = 1.0 / columncount;
     int    count        = uiHelper.Select.MainDetail.ParamFields.Count;
     int    rowscount    = count / columncount + 1;
     for (int iCol = 0; iCol < columncount; iCol++)
     {
         Container container = new Container();
         container.ID          = prefix + "Container_" + iCol.ToString();
         container.Layout      = "FormLayout";
         container.Padding     = 5;
         container.ColumnWidth = dColumnWidth;
         for (int iRow = 0; iRow < rowscount; iRow++)
         {
             int i = iRow * columncount + iCol;
             if (i >= uiHelper.Select.MainDetail.ParamFields.Count)
             {
                 continue;
             }
             ParamField field = uiHelper.Select.MainDetail.ParamFields[i];
             IniParamField(prefix, field, container, true);
         }
         if (container.Items.Count > 0)
         {
             panel.Add(container);
         }
     }
     #endregion
 }
示例#16
0
 /// <summary>
 /// 初始化控件
 /// </summary>
 /// <param name="prefix"></param>
 /// <param name="field"></param>
 /// <param name="container"></param>
 /// <param name="isReadonly"></param>
 private void IniParamField(string prefix, ParamField field, Container container, bool isReadonly)
 {
     if (!field.IsShow)
     {
         IniField(IniParamHidden(prefix, field, isReadonly),
                  prefix, field, container, isReadonly);
         return;
     }
     IniField(IniParamTextBox(prefix, field, isReadonly),
              prefix, field, container, isReadonly);
     IniField(IniParamComboBox(prefix, field, isReadonly),
              prefix, field, container, isReadonly);
     IniField(IniParamSearchBox(prefix, field, isReadonly),
              prefix, field, container, isReadonly);
     IniField(IniParamHidden(prefix, field, isReadonly),
              prefix, field, container, isReadonly);
     IniField(IniParamNumberBox(prefix, field, isReadonly),
              prefix, field, container, isReadonly);
     IniField(IniParamDateField(prefix, field, isReadonly),
              prefix, field, container, isReadonly);
     IniParamDateTimeBox(prefix, field, container, isReadonly);
     IniParamBeginEndDateBox(prefix, field, container, isReadonly);
     IniParamBeginEndTextBox(prefix, field, container, isReadonly);
 }
示例#17
0
        private void RefreshParamFieldData(string paramField_Start, ParamField field, Dictionary <string, string> values)
        {
            StringBuilder js    = new StringBuilder();
            string        value = getParamFieldDataValue(field.FieldName, values);

            switch (field.Type)
            {
            case ParamFieldType.TextBox:
            {
                if (!field.IsMult)
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + ".setValue(\"" + value + "\");");
                }
                else
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + ".setValue(\"" + value.Replace("\r", "\\r").Replace("\n", "\\n") + "\");");
                }
                break;
            }

            case ParamFieldType.ComboBox:
            {
                if (!string.IsNullOrWhiteSpace(value))
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + ".setValue(\"" + value + "\");");
                }
                else if (field.Nullable)
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + ".setValue(\"\");");
                }
                break;
            }

            case ParamFieldType.SearchBox:
            {
                js.Append("App.").Append(paramField_Start + field.FieldName + ".setValue(\"" + value + "\");");
                value = getParamFieldDataValue(field.FieldName + "_TriggerField", values);
                js.Append("App.").Append(paramField_Start + field.FieldName + "_TriggerField.setValue(\"" + value + "\");");
                break;
            }

            case ParamFieldType.DateBox:
            {
                DateTime dtValue = DateTime.Now;
                if (DateTime.TryParse(value, out dtValue))
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + ".setValue(\"" + dtValue.ToString("yyyy-MM-dd") + "\");");
                }
                else
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + ".setValue(\"\");");
                }
                break;
            }

            case ParamFieldType.DateTimeBox:
            {
                DateTime dtValue = DateTime.Now;
                if (DateTime.TryParse(value, out dtValue))
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.DATE_DATETIME_STATE_END + ".setValue(\"" + dtValue.ToString("yyyy-MM-dd") + "\");");
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.TIME_DATETIME_STATE_END + ".setValue(\"" + dtValue.ToString("HH:mm:ss") + "\");");
                }
                else
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.DATE_DATETIME_STATE_END + ".setValue(\"\");");
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.TIME_DATETIME_STATE_END + ".setValue(\"\");");
                }
                break;
            }

            case ParamFieldType.BeginEndDateBox:
            {
                var      strValue = getParamFieldDataValue(field.FieldName + UiHelper.BEGIN_DATE_STATE_END, values);
                DateTime dtValue  = DateTime.Now;
                if (DateTime.TryParse(strValue, out dtValue))
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.BEGIN_DATE_STATE_END + ".setValue(\"" + dtValue.ToString("yyyy-MM-dd") + "\");");
                }
                else
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.BEGIN_DATE_STATE_END + ".setValue(\"\");");
                }
                strValue = getParamFieldDataValue(field.FieldName + UiHelper.END_DATE_STATE_END, values);
                dtValue  = DateTime.Now;
                if (DateTime.TryParse(strValue, out dtValue))
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.END_DATE_STATE_END + ".setValue(\"" + dtValue.ToString("yyyy-MM-dd") + "\");");
                }
                else
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.END_DATE_STATE_END + ".setValue(\"\");");
                }
                break;
            }

            case ParamFieldType.BeginEndTextBox:
            {
                var strValue = getParamFieldDataValue(field.FieldName + UiHelper.BEGIN_TEXT_STATE_END, values);
                if (string.IsNullOrWhiteSpace(strValue))
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.BEGIN_TEXT_STATE_END + ".setValue(\"\");");
                }
                else
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.BEGIN_TEXT_STATE_END + ".setValue(\"" + strValue + "\");");
                }
                strValue = getParamFieldDataValue(field.FieldName + UiHelper.END_TEXT_STATE_END, values);
                if (string.IsNullOrWhiteSpace(strValue))
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.END_TEXT_STATE_END + ".setValue(\"\");");
                }
                else
                {
                    js.Append("App.").Append(paramField_Start + field.FieldName + UiHelper.END_TEXT_STATE_END + ".setValue(\"" + strValue + "\");");
                }
                break;
            }

            default:
            {
                js.Append("App.").Append(paramField_Start + field.FieldName + ".setValue(\"" + value + "\");");
                break;
            }
            }
            X.Js.AddScript(js.ToString());
        }
示例#18
0
        /// <summary>
        /// 初始化 DateTimeBox 控件  FieldContainer=DateField+TimeField
        /// </summary>
        /// <param name="paramField_Start"></param>
        /// <param name="field"></param>
        /// <param name="container"></param>
        /// <param name="isReadonly"></param>
        private void IniParamDateTimeBox(string paramField_Start, ParamField field, Container container, bool isReadonly)
        {
            if (field.Type != ParamFieldType.DateTimeBox)
            {
                return;
            }
            Caption        caption   = uiHelper.UiData.GetCaption(field.Caption, field.FieldName);
            FieldContainer result    = new FieldContainer();
            string         fieldName = paramField_Start + field.FieldName;

            this.IniAllParamField(fieldName, field);
            result.ID         = fieldName;
            result.FieldLabel = caption.Value;
            result.LabelWidth = 80;
            result.LabelAlign = LabelAlign.Right;
            result.Layout     = LayoutType.HBox.ToString();
            result.Flex       = 1;
            var defaultValue = field.DefaultValue;

            if (string.IsNullOrWhiteSpace(defaultValue))
            {
                defaultValue = DateTime.Now.ToString("yyyy-MM-dd");
            }
            DateTime?date   = DateTime.Now;
            var      values = defaultValue.Split('|');

            if (values.Length > 0)
            {
                date = getDefaultDateTime(values[0]);
            }
            string dtDate = string.Empty;

            if (date != null)
            {
                dtDate = ((DateTime)date).ToString("yyyy-MM-dd");
            }
            string dtTime = string.Empty;

            if (values.Length > 1)
            {
                dtTime = values[1];
            }
            if (string.IsNullOrWhiteSpace(dtTime))
            {
                dtTime = "08:00:00";
            }
            DateField dateField = new DateField();

            dateField.ID     = result.ID + UiHelper.DATE_DATETIME_STATE_END;
            dateField.Format = "yyyy-MM-dd";
            if (!string.IsNullOrWhiteSpace(dtDate))
            {
                dateField.Text = dtDate;
            }
            dateField.Flex = 1;
            TimeField timeField = new TimeField();

            timeField.ID = result.ID + UiHelper.TIME_DATETIME_STATE_END;
            if (!string.IsNullOrWhiteSpace(dtDate))
            {
                timeField.Text = dtTime;
            }
            timeField.Increment = 30;
            timeField.Format    = "HH:mm:ss";
            timeField.Flex      = 1;
            if (isReadonly || field.ReadOnly)
            {
                dateField.ReadOnly = true;
                timeField.ReadOnly = true;
            }
            result.Items.Add(dateField);
            result.Items.Add(timeField);
            container.Add(result);
        }
示例#19
0
 private void IniParamField(string prefix, ParamField field, Container container)
 {
     IniParamField(prefix, field, container, false);
 }