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