public static string GetTableColumnDisplayName(int id) { TableColumnDisplay tableColumnDisplay = tableColumnDisplayList.Find(obj => obj.Id == id && obj.Language_id == GlobeSetting.language); if (tableColumnDisplay != null) { return(tableColumnDisplay.Column_display_name); } else { return(String.Empty); } }
private LayoutControlGroup CreateLayoutGroup(List <TableColumnDesc> column_list, List <TableColumnDisplay> display_list, List <TableColumnReference> reference_list, List <TableColumnRegular> rule_list) { string group_text = String.Empty; string sub_group_text = String.Empty; TableColumnDisplay display = display_list.Find(obj => obj.Id == column_list[0].Id); if (display != null) { group_text = display.Column_display_name; sub_group_text = display.Sub_group_display_name; } LayoutControlGroup grp = this.CreateLayoutGroup(sub_group_text == String.Empty?group_text:sub_group_text); foreach (TableColumnDesc col in column_list) { TableColumnDisplay column_display = display_list.Find(obj => obj.Id == col.Id); TableColumnReference column_reference = reference_list.Find(obj => obj.Id == col.Id); TableColumnRegular column_rule = rule_list.Find(obj => obj.Id == col.Id); string column_text = column_display != null?column_display.Column_display_name:col.Column_name; string column_ref_value = GlobeData.tableColumnDescList.Find(obj => obj.Column_idx == column_reference.Reference_value_column_id).Column_name; string column_ref_text = GlobeData.tableColumnDescList.Find(obj => obj.Column_idx == column_reference.Reference_text_column_id).Column_name; var ref_data = new object(); LayoutControlItem itm = new LayoutControlItem(); if (column_reference != null) { ClassDesc tmp = GlobeData.classDescList.Find(obj => obj.Id == column_reference.Reference_id); if (tmp != null) { object ref_class = GlobeData.assembly.CreateInstance(tmp.Class_name); ref_data = ref_class.GetType().InvokeMember("GetDataList", BindingFlags.Default | BindingFlags.InvokeMethod, null, ref_class, null); } } switch (col.Column_edit_type) { case ObjectEnum.ColumnEditType.Calc: itm = this.CreateCalcItem(column_text, col.Column_name, 10, 8, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Check: itm = this.CreateCheckItem(column_text, col.Column_name, col.Is_readonly); break; case ObjectEnum.ColumnEditType.CheckedCombo: itm = this.CreateCheckedComboItem(column_text, col.Column_name, column_rule != null ? column_rule.ItemList.Split(',').ToList(): new List <String>(), "(Select All)", ',', col.Is_readonly); break; case ObjectEnum.ColumnEditType.Combo: itm = this.CreateComboItem(column_text, col.Column_name, ref_data, column_ref_text, column_ref_value, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Date: itm = this.CreateDateItem(column_text, col.Column_name, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Grid: break; case ObjectEnum.ColumnEditType.LookUp: itm = this.CreateSearchFindItem(column_text, col.Column_name, ref_data, column_ref_text, column_ref_value, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Memo: itm = this.CreateMemoItem(column_text, col.Column_name, column_rule != null ? column_rule.Max_length : 65535, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Spin: itm = this.CreateSpinItem(column_text, col.Column_name, column_rule != null ? column_rule.Max_value : int.MaxValue, column_rule != null ? column_rule.Min_value : int.MinValue, 1, false, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Text: itm = this.CreateTextItem(column_text, col.Column_name, column_rule != null ? column_rule.Max_length : 65535, column_rule != null?column_rule.Mask_type:MaskType.None, column_rule != null?column_rule.Mask:String.Empty, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Time: itm = this.CreateTimeItem(column_text, col.Column_name, col.Is_readonly); break; case ObjectEnum.ColumnEditType.Toggle: itm = this.CreateToggleSwitchItem(column_text, col.Column_name, column_rule != null ? column_rule.Toggle_off_value : false, column_rule != null ? column_rule.Toggle_on_value : true, column_rule != null ? column_rule.Toggle_off_text : "Off", column_rule != null ? column_rule.Toggle_on_text : "ON", col.Is_readonly); break; } grp.AddItem(itm); } return(grp); }
public void CreateLayoutEditor(DynamicObjectHelper dynamicObject) { if (dynamicObject.classDesc == null) { return; } this.dynamicObject = dynamicObject; bindingSource.DataSource = dynamicObject.objclass; int group_idx = 1; while (true) { List <TableColumnDesc> list = dynamicObject.ColumnList.FindAll(obj => obj.Group_idx == group_idx); if (list.Count > 0) { string group_text = String.Empty; TableColumnDisplay display = dynamicObject.ColumnLanguageDisplayList.Find(obj => obj.Id == list[0].Id); if (display != null) { group_text = display.Column_display_name; } LayoutControlGroup grp = this.CreateLayoutGroup(group_text); #region 子Group (int min, int max)tuple = (list.Min(obj => obj.Sub_group_idx), list.Min(obj => obj.Sub_group_idx)); if (tuple.min > 0) { for (int k = tuple.min; k <= tuple.max; k++) { List <TableColumnDesc> sub_list = list.FindAll(obj => obj.Sub_group_idx == k); grp.Add(this.CreateLayoutGroup(sub_list, dynamicObject.ColumnLanguageDisplayList, dynamicObject.ColumnReferenceList, dynamicObject.ColumnRegularList)); } } #endregion #region 单个Group else { grp = this.CreateLayoutGroup(list, dynamicObject.ColumnLanguageDisplayList, dynamicObject.ColumnReferenceList, dynamicObject.ColumnRegularList); } #endregion this.layoutEdit.AddGroup(grp); } else { break; } group_idx++; } List <ClassRelated> sub_class = GlobeData.classRelatedList.FindAll(obj => obj.Main_class_id == dynamicObject.classDesc.Id); foreach (ClassRelated sub in sub_class) { ClassDesc subclass = GlobeData.classDescList.Find(obj => obj.Id == sub.Sub_class_id); LayoutControlGroup grp1 = this.CreateLayoutGroup(subclass.Class_name); LayoutControlItem item = this.CreateGridListViewItem(subclass); grp1.AddItem(item); layoutEdit.AddGroup(grp1); } }