Exemple #1
0
        private void lv_colums_SelectedIndexChanged(object sender, EventArgs e)
        {
            var item = GetSelectedRow(lv_colums);

            if (item.Any())
            {
                /*
                 *
                 * GUID	列名	说明	表	 不显示    主键	字段类型	长度
                 * 0	      1	      2	     3	    4	     5	        6	     7
                 * 允许空	默认值	外键列明	外键表名
                 * 8       9        10          11
                 *
                 */
                {
                    #region 赋值
                    var obj = new FormColumSetting();
                    obj.GUID                = item[0];
                    obj.Sequence            = int.Parse(item[1]);
                    obj.ColumName           = item[2];
                    obj.ColumNote           = item[3];
                    obj.TableName           = item[4];
                    obj.IsHidden            = bool.Parse(item[5]);
                    obj.IsPrimaryKey        = bool.Parse(item[6]);
                    obj.Type                = item[7];
                    obj.Length              = item[8];
                    obj.CanNull             = bool.Parse(item[9]);
                    obj.DefaultValue        = item[10];
                    obj.ForeignKey          = item[11];
                    obj.ForeignTable        = item[12];
                    obj.ControlType         = item[13].ToControlType();
                    obj.Regex               = item[14];
                    pg_colum.SelectedObject = obj;
                    #endregion
                }
            }
        }
Exemple #2
0
        List <FormColumSetting> ParseListView(ListView.ListViewItemCollection rows, bool hasPre)
        {
            var result = new List <FormColumSetting>();

            foreach (ListViewItem row in rows)
            {
                var item = row.SubItems;
                var obj  = new FormColumSetting();
                obj.GUID      = item[0].Text.TrimString();
                obj.Sequence  = int.Parse(item[1].Text.TrimString());
                obj.TableName = item[4].Text.TrimString(); obj.AddTable(obj.TableName); obj.HasPre = hasPre;
                obj.ColumName = item[2].Text.TrimString();
                obj.ColumName = hasPre ? obj.TableName + "-" + obj.ColumName : obj.ColumName; //加前缀
                obj.ColumNote = item[3].Text.TrimString() +                                   //防止列明重复
                                (rows.Cast <ListViewItem>().Count(a => a.SubItems[2].Text == row.SubItems[2].Text) > 1
                                    ? ""
                                    : "");
                obj.IsHidden     = bool.Parse(item[5].Text.TrimString());
                obj.IsPrimaryKey = bool.Parse(item[6].Text.TrimString());
                obj.Type         = item[7].Text.TrimString();
                obj.Length       = item[8].Text.TrimString();
                obj.CanNull      = bool.Parse(item[9].Text.TrimString());
                obj.DefaultValue = item[10].Text.TrimString();
                obj.ForeignKey   = item[11].Text.TrimString();
                obj.ForeignTable = item[12].Text.TrimString();
                obj.ControlType  = obj.IsHidden?
                                   (obj.Type.ToLower().Contains("datetime") ? FormControlType.HideTime:FormControlType.Hide):
                                   item[13].Text.TrimString().ToControlType();
                obj.Regex           = item[14].Text.TrimString();
                obj.ShowControlType = item[15].Text.TrimString().ToControlType();

                result.Add(obj);
            }

            return(result);
        }
Exemple #3
0
        public static string ToDetailJavaScript(FormColumSetting obj, bool isLast)
        {
            var html = "";

            //判断控件类型
            switch (obj.ShowControlType)
            {
            case FormControlType.ShowInput:
            {        // input: function (label, name, value, num,reg, tip)
                html += string.Format("showInput('{0}', '{1}', '{2}', '{3}')",
                                      obj.ColumNote, obj.ColumName, obj.DefaultValue, 4);
            }
            break;

            case FormControlType.ShowTime:
            {
                // time: function (label, name, value, num, tip)
                html += string.Format("showTime('{0}', '{1}', '{2}', '{3}')",
                                      obj.ColumNote, obj.ColumName, obj.DefaultValue, 4);
            }
            break;

            case FormControlType.ShowDate:
            {
                // date: function (label, name, value, num, tip)
                html += string.Format("showDate('{0}', '{1}', '{2}', '{3}')",
                                      obj.ColumNote, obj.ColumName, obj.DefaultValue, 4);
            }
            break;

            case FormControlType.ShowSelect:
            {
                // select: function (label, name, option, value, num, tip)
                html += string.Format("showSelect('{0}', '{1}', '[]')",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.ShowRadio:
            {
                // showRadio: (label, name, items, num, vertical, value)
                html += string.Format("showRadio('{0}', '{1}', [])",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.ShowEditor:
            {
                // showEditor(label, name, value, num, height)
                html += string.Format("showEditor('{0}', '{1}')",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.ShowCheckbox:
            {
                // checkbox(label, name, items, num, vertical,valueArra)
                html += string.Format("showCheckbox('{0}', '{1}',[])",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.ShowSwitch:
            {
                // showSwitch(label, name, num, value, onText, offText)
                html += string.Format("showSwitch('{0}', '{1}')",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.ShowArea:
            {
                // showArea(label, name, value, num, height, validators, tip)
                html += string.Format("showArea('{0}', '{1}')",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.Showfile:
            {
                //function showFile(label, name, files, num)
                html += string.Format("showFile('{0}', '{1}')",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.Hide:
            {
                //function hide(name,value)
                html += string.Format("hide('{0}')",
                                      obj.ColumName);
            }
            break;

            case FormControlType.HideTime:
            {
                //function hide(name,value)
                html += string.Format("hideTime('{0}')",
                                      obj.ColumName);
            }
            break;
defaut:
                {
                    html += string.Format("//暂不支持该类型控件的生成" + obj.ControlType.ToString() + "\n");
                }
                break;
            }
            html += (isLast ? "" : ",") + "\n";
            return(html);
        }
Exemple #4
0
        public static string ToJavaScript(FormColumSetting obj, bool isLast)
        {
            var html = "";

            //判断控件类型
            switch (obj.ControlType)
            {
            case FormControlType.Input:
            {        // input: function (label, name, value, num,reg, tip)
                if (!obj.Regex.HasValue() && int.Parse(obj.Length) > 10)
                {
                    obj.Regex = "{min:1,max:" + obj.Length + "}";
                }
                html += string.Format("input('{0}', '{1}', '{2}', '{3}'{4})",
                                      obj.ColumNote, obj.ColumName, obj.DefaultValue, 4, obj.Regex.HasValue()? ", " + obj.Regex: "");
            }
            break;

            case FormControlType.Time:
            {
                // time: function (label, name, value, num, tip)
                html += string.Format("time('{0}', '{1}', '{2}', '{3}', '{4}')",
                                      obj.ColumNote, obj.ColumName, obj.DefaultValue, 4, "请选择" + obj.ColumNote);
            }
            break;

            case FormControlType.Date:
            {
                // date: function (label, name, value, num, tip)
                html += string.Format("date('{0}', '{1}', '{2}', '{3}', '{4}')",
                                      obj.ColumNote, obj.ColumName, obj.DefaultValue, 4, "请选择" + obj.ColumNote);
            }
            break;

            case FormControlType.Select:
            {
                // select: function (label, name, option, value, num, tip)
                html += string.Format("select('{0}', '{1}', '[]')",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.Radio:
            {
                // radio: function (label, name, items, num, value)
                html += string.Format("radio('{0}', '{1}', [])",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.Editor:
            {
                // editor: function (label, name)
                html += string.Format("editor('{0}', '{1}')",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.Checkbox:
            {
                // checkbox: function (label, name, items, num, valueArray)
                html += string.Format("checkbox('{0}', '{1}',[])",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.Switch:
            {
                // _switch: function (label,name, num, value, onText, offText)
                html += string.Format("_switch('{0}', '{1}')",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.Area:
            {
                // area: function (label, name, value, num, tip, height)
                html += string.Format("area('{0}', '{1}')",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.File:
            {
                // area: function (label, name, value, num, tip, height)
                html += string.Format("file('{0}', '{1}')",
                                      obj.ColumNote, obj.ColumName);
            }
            break;

            case FormControlType.Hide:
            {
                //function hide(name,value)
                html += string.Format("hide('{0}')",
                                      obj.ColumName);
            }
            break;

            case FormControlType.HideTime:
            {
                //function hide(name,value)
                html += string.Format("hideTime('{0}')",
                                      obj.ColumName);
            }
            break;
defaut:
                {
                    html += string.Format("//暂不支持该类型控件的生成" + obj.ControlType.ToString() + "\n");
                }
                break;
            }
            html += (isLast ? "" : ",") + "\n";
            return(html);
        }