/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="nvcName"></param> /// <param name="nvNameViewer"></param> /// <param name="nvNameEditor"></param> /// <param name="editorFilter"></param> public static void InitDataControl(INameValueMappingBindingControl control, string nvcName, string nvNameViewer, string nvNameEditor, string editorFilter) { if (control == null) { throw new ArgumentNullException("control"); } if (string.IsNullOrEmpty(nvNameViewer)) { // 如果是 FreeComboBox,则nvNameViewer为空(不需要Datasource进行显示) nvNameViewer = nvNameEditor; } NameValueMapping nvViewer = NameValueMappingCollection.Instance[nvNameViewer]; control.ValueMember = nvViewer.ValueMember; control.DisplayMember = nvViewer.DisplayMember; NameValueMapping nvEditor = NameValueMappingCollection.Instance[nvNameEditor]; // 非动态,默认DataSet if (!nvEditor.IsDynamic) { nvcName = null; } control.SetDataBinding(nvcName, nvNameViewer, nvNameEditor, editorFilter); IGridDropdownControl gridControl = control as IGridDropdownControl; if (gridControl != null) { gridControl.VisibleColumns(nvViewer.MemberVisible); gridControl.AdjustDropDownControlSize(); } }
private static void ldc_MappingEdited(object sender, EventArgs e) { LabeledDataControl ldc = sender as LabeledDataControl; INameValueMappingBindingControl bc = ldc.Control as INameValueMappingBindingControl; if (!string.IsNullOrEmpty(bc.NameValueMappingName) && !bc.NameValueMappingName.StartsWith("EnumType")) { NameValueMappingInfo info = ADInfoBll.Instance.GetNameValueMappingInfo(bc.NameValueMappingName); if (info != null && info.EditAction != null) { ServiceProvider.GetService <IApplication>().ExecuteAction(info.EditAction.Name); } else { ServiceProvider.GetService <IMessageBox>().ShowWarning("无对应编辑窗口,请在配置信息中配置!"); } } }
internal static void DisposeDataControls(IDataControl[] dataControlsBuffer) { if (dataControlsBuffer != null) { foreach (IDataControl dc in dataControlsBuffer) { LabeledDataControl ldc = dc as LabeledDataControl; if (ldc != null) { INameValueMappingBindingControl bc = ldc.Control as INameValueMappingBindingControl; if (bc != null && !string.IsNullOrEmpty(bc.NameValueMappingName) && !bc.NameValueMappingName.StartsWith("EnumType")) { ldc.MappingEdited -= new EventHandler(ldc_MappingEdited); ldc.MappingReload -= new EventHandler(ldc_MappingReload); } } } dataControlsBuffer = null; } }
/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="nvcName"></param> /// <param name="nvNameViewer"></param> /// <param name="nvNameEditor"></param> /// <param name="editorFilter"></param> public static void InitDataControl(INameValueMappingBindingControl control, string nvcName, string nvNameViewer, string nvNameEditor, string editorFilter) { if (control == null) { throw new ArgumentNullException("control"); } if (string.IsNullOrEmpty(nvNameViewer)) { // ����� FreeComboBox����nvNameViewerΪ�գ�����ҪDatasource������ʾ�� nvNameViewer = nvNameEditor; } NameValueMapping nvViewer = NameValueMappingCollection.Instance[nvNameViewer]; control.ValueMember = nvViewer.ValueMember; control.DisplayMember = nvViewer.DisplayMember; NameValueMapping nvEditor = NameValueMappingCollection.Instance[nvNameEditor]; // �Ƕ�̬��Ĭ��DataSet if (!nvEditor.IsDynamic) { nvcName = null; } control.SetDataBinding(nvcName, nvNameViewer, nvNameEditor, editorFilter); IGridDropdownControl gridControl = control as IGridDropdownControl; if (gridControl != null) { gridControl.VisibleColumns(nvViewer.MemberVisible); gridControl.AdjustDropDownControlSize(); } }
/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="nvNameViewer"></param> /// <param name="nvNameEditor"></param> /// <param name="editorFilter"></param> public static void InitDataControl(INameValueMappingBindingControl control, string nvNameViewer, string nvNameEditor, string editorFilter) { InitDataControl(control, null, nvNameViewer, nvNameEditor, editorFilter); }
/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="nvName"></param> public static void InitDataControl(INameValueMappingBindingControl control, string nvName) { InitDataControl(control, nvName, string.Empty); }
/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="type"></param> public static void InitDataControl(INameValueMappingBindingControl control, Type type) { InitDataControl(control, type, false); }
/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="type"></param> /// <param name="notUseEnum"></param> public static void InitDataControl(INameValueMappingBindingControl control, Type type, bool notUseEnum) { InitDataControl(control, type, notUseEnum, string.Empty); }
/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="type"></param> /// <param name="notUseEnum"></param> /// <param name="filter"></param> public static void InitDataControl(INameValueMappingBindingControl control, Type type, bool notUseEnum, string filter) { string newName = NameValueMappingCollection.Instance.Add(type, notUseEnum); InitDataControl(control, null, newName, newName, filter); }
internal static void InternalCreateDataControls(IDisplayManager dm, IControlManager cm, string gridName, IArchiveDetailFormAuto parent, ToolTip toolTip) { // 创建数据控件 IList <GridColumnInfo> infos = ADInfoBll.Instance.GetGridColumnInfos(gridName); if (infos != null) { Dictionary <string, IDataControl> nowControls = new Dictionary <string, IDataControl>(); GetSubControls(nowControls, parent as Control); List <Control> addControls = new List <Control>(); if (infos.Count > 0) { foreach (GridColumnInfo info in infos) { IDataControl dc; if (!nowControls.ContainsKey(info.GridColumnName)) { if (string.IsNullOrEmpty(info.DataControlType)) { continue; } // SetDataControls in GetDataControl(); dc = Feng.Windows.Utils.ControlFactory.GetDataControl(info, dm.Name); if (dc != null) { addControls.Add(dc as Control); } } else { dc = nowControls[info.GridColumnName]; dc.Available = true; Feng.Windows.Utils.ControlFactory.SetDataControls(dc as Control, info, dm.Name); } // not process Editable and Insertable in here, should be in DataManger.SetState() //dc.SetState(m_cm.State); dm.DataControls.Add(dc); dc.AvailableChanged -= new EventHandler(dc_AvailableChanged); dc.AvailableChanged += new EventHandler(dc_AvailableChanged); LabeledDataControl ldc = dc as LabeledDataControl; if (ldc != null) { if (toolTip != null) { toolTip.SetToolTip(ldc.Label, string.IsNullOrEmpty(info.Help) ? info.Caption : info.Help); } INameValueMappingBindingControl bc = ldc.Control as INameValueMappingBindingControl; if (bc != null && !string.IsNullOrEmpty(bc.NameValueMappingName) && !bc.NameValueMappingName.StartsWith("EnumType")) { ldc.MappingEdited -= new EventHandler(ldc_MappingEdited); ldc.MappingReload -= new EventHandler(ldc_MappingReload); ldc.MappingEdited += new EventHandler(ldc_MappingEdited); ldc.MappingReload += new EventHandler(ldc_MappingReload); } } } parent.AddControls(addControls.ToArray()); } else { // 没有GridColumnInfo foreach (IDataControl dc in nowControls.Values) { dc.AvailableChanged -= new EventHandler(dc_AvailableChanged); dc.AvailableChanged += new EventHandler(dc_AvailableChanged); //AddControl(dc as Control); dc.Available = true; dm.DataControls.Add(dc); } } } }
/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="nvNameViewer"></param> /// <param name="nvNameEditor"></param> /// <param name="editorFilter"></param> public static void InitDataControl(INameValueMappingBindingControl control, string nvNameViewer, string nvNameEditor, string editorFilter) { InitDataControl(control, null, nvNameViewer, nvNameEditor, editorFilter); }
/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="nvName"></param> public static void InitDataControl(INameValueMappingBindingControl control, string nvName) { InitDataControl(control, nvName, string.Empty); }
/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="type"></param> public static void InitDataControl(INameValueMappingBindingControl control, Type type) { InitDataControl(control, type, false); }
/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="type"></param> /// <param name="notUseEnum"></param> public static void InitDataControl(INameValueMappingBindingControl control, Type type, bool notUseEnum) { InitDataControl(control, type, notUseEnum, string.Empty); }
/// <summary> /// InitDataControl /// </summary> /// <param name="control"></param> /// <param name="type"></param> /// <param name="notUseEnum"></param> /// <param name="filter"></param> public static void InitDataControl(INameValueMappingBindingControl control, Type type, bool notUseEnum, string filter) { string newName = NameValueMappingCollection.Instance.Add(type, notUseEnum); InitDataControl(control, null, newName, newName, filter); }