/// <summary> /// 保存到数据库 /// </summary> bool SaveXmlToDB() { var item = this.xtnEvents.SelectedItem; if (null == item) { Wrapper.ShowDialog("请选择事件。"); return(false); } if (null != _EventDesigner && item.ID.Equals(_EventDesigner.ContentID)) { return(true); } cmd = new CtrlPlatformCommandInfo(); cmd.CommandName = ConstantCollection.CommandName_SaveEventDesigner; EventDesigner edi = new EventDesigner(); edi.PageGuid = IDesignFramework.GetCurrentXmlTemplate().BaseInfo.PageGUID; edi.ControlName = _GetControlName(); edi.EventName = this.EventName; edi.ContentID = item.ID; cmd.ParamCollection = edi.ToXElement(); cmd.TempValue = Wrapper.SetXmlValue("Save", "SaveXmlToDB"); this.SendToService(cmd, this); return(true); }
bool UpdateMetaDataInfo() { var fields = this.lboxFields.Tag as List <MetaDataColumnInfo>; if (null == fields || 0 == fields.Count) { Wrapper.ShowDialog("字符参数为空"); return(false); } var dt = fields[0]; MetaDataInfo mdi = new MetaDataInfo(); //-->克隆出数据。 mdi.Item = fields.CloneList <MetaDataColumnInfo>(); mdi.table_comment = dt.table_comment; mdi.table_name = dt.table_name; mdi.table_type = dt.table_type; foreach (var data in mdi.Item) { data.table_comment = string.Empty; data.table_name = string.Empty; data.table_type = string.Empty; } var xml = IDesignFramework.GetCurrentXmlTemplate(); var ci = IDesignFramework.GetControlInfoByControlName(this.CurrentSelectedControlName); if (null == ci) { Wrapper.ShowDialog("找不着控件信息。"); return(false); } ci.MetaData = ci.MetaData.IsNullOrEmpty() ? _TableName : ci.MetaData; ci.ColumnName = ci.ColumnName.IsNullOrEmpty() ? _SaveField : ci.ColumnName; ci.ControlDataSourceTableName = mdi.table_name; //-->判断tableName是否已经增加了 MetaDataInfo old_mdi = IDesignFramework.GetMetaDataInfoByTableName(mdi.table_name); if (null == old_mdi) { xml.MetaDataItem.Add(mdi); } else { //-->判断列是否已经存在。 foreach (var column in mdi.Item) { var col = old_mdi.Item.Where(p => p.column_name.Equals(column.column_name)).GetFirst <MetaDataColumnInfo>(); if (null != col) { old_mdi.Item.Remove(col); } old_mdi.Item.Add(column); } } IDesignFramework.UpdateCurrentTemplate(); return(true); }
/// <summary> /// /// </summary> /// <returns></returns> public bool CheckSave() { if (_CurrentSelectedGuid.IsNullOrEmpty()) { Wrapper.ShowDialog("请选择要切换的窗体"); return(false); } if (_CurrentSelectedGuid.Equals(_PageGuid)) { Wrapper.ShowDialog("自己不能切换到自己,你是否要重置刷新一下页面的内容?是的话请设置页面刷新即可"); return(false); } string eventName = string.Format("{0}", CurrentApiSelector.Name); string _controlName = string.Format("{0}", this.EventControlName); var xml = IDesignFramework.GetCurrentXmlTemplate(); if (null == xml.EventLinkItem) { xml.EventLinkItem = new List <EventLinkInfo>(); } //-->事件 var eli = xml.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>(); if (null == eli) { eli = new EventLinkInfo(); xml.EventLinkItem.Add(eli); } eli.ControlName = _controlName; eli.EventName = this.EventName; if (null == eli.Item) { eli.Item = new List <ControlActivityInfo>(); } //-->行为 var cai = eli.Item.Where(p => p.ControlName.IsNotEmpty() && p.ControlName.Equals(_controlName) && p.EventName.IsNotEmpty() && p.EventName.Equals(eventName)).GetFirst <ControlActivityInfo>(); if (null == cai) { cai = new ControlActivityInfo(); eli.Item.Add(cai); } //-->保存操作。 cai.ActivityName = this.ActivityName; cai.ActivityType = this.ActivityType; cai.ControlName = _controlName; cai.EventName = eventName; var _guid = this.IDesignFramework.GetCurrentXmlTemplate().BaseInfo.PageGUID; cai.Description = "切换窗体" + _guid; cai.PageGuid = string.Format("{0},{1}", _CurrentSelectedGuid, _guid); IDesignFramework.UpdateCurrentTemplate(); return(true); }
/// <summary> /// 保存 /// </summary> bool SaveOperator() { if (null == lb_Controls1Function.SelectedItem) { Wrapper.ShowDialog("方法名称1没有选择"); return(false); } CtrlFuctionInfo cfi = (lb_Controls1Function.SelectedItem as ListBoxItem).Tag as CtrlFuctionInfo; string eventName = string.Format("{0}", cfi.Name); string controlName = string.Format("{0}", (lb_Controls1.SelectedItem as ListBoxItem).Content); var xml = IDesignFramework.GetCurrentXmlTemplate(); if (null == xml.EventLinkItem) { xml.EventLinkItem = new List <EventLinkInfo>(); } string _controlName = _GetControlName(); //-->事件 var eli = xml.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>(); if (null == eli) { eli = new EventLinkInfo(); xml.EventLinkItem.Add(eli); } eli.ControlName = _controlName; eli.EventName = this.EventName; eli.Item = new List <ControlActivityInfo>(); //-->行为 var cai = eli.Item.Where(p => p.ControlName.Equals(controlName) && p.EventName.Equals(eventName)).GetFirst <ControlActivityInfo>(); if (null == cai) { cai = new ControlActivityInfo(); eli.Item.Add(cai); } //-->保存操作。 cai.ActivityName = this.ActivityName; cai.ActivityType = this.ActivityType; cai.ControlName = controlName; cai.EventName = eventName; cai.Description = cfi.Description; cai.Param = new List <ParamInfo>(); foreach (var v in this.sp_Children.Children) { ParameterSelected select = v as ParameterSelected; if (null == select || null == select.ParamForamt) { continue; } cai.Param.Add(select.ParamForamt); } IDesignFramework.UpdateCurrentTemplate(); return(true); }
void lb_Controls1Function_SelectionChanged(object sender, SelectionChangedEventArgs e) { sp_Children.Children.Clear(); ListBoxItemExtend controls = lb_Controls1.SelectedItem as ListBoxItemExtend; var parameterItem = controls.Tag as List <MetaDataColumnInfo>; if (null != parameterItem) { foreach (var v in parameterItem) { ParameterSelected ps = new ParameterSelected(); ps.txtParamName.Text = string.Format("{0}【{1}】", v.column_name, v.column_comment); ps.OrgMetaDataColumn = v; ps.FieldName = v.column_name; ps.DeleteClick += ps_DeleteClick; ps.ModifyClick += ps_ModifyClick; sp_Children.Children.Add(ps); } } var ci = controls.ControlInfo; /****************************************************************************** * * 控件的参数就是控件MetaData里的row信息, * * ControlDataSourceTable 所处在的 MetaData信息也要取出来。 * * *****************************************************************************/ if (!ci.ControlDataSourceTableName.IsNullOrEmpty()) { var mdi = IDesignFramework.GetMetaDataInfoByTableName(ci.ControlDataSourceTableName); if (null != mdi && null != mdi.Item && 0 < mdi.Item.Count) { Label lbl = new Label(); lbl.Height = 2; lbl.Background = new SolidColorBrush(Colors.Black); sp_Children.Children.Add(lbl); foreach (var item in mdi.Item) { ParameterSelected ps = new ParameterSelected(); ps.txtParamName.Text = string.Format("{0}【{1}】", item.column_name, item.column_comment); ps.OrgMetaDataColumn = item; ps.FieldName = item.column_name; ps.OrgIsDataSource = true; ps.DeleteClick += ps_DeleteClick; ps.ModifyClick += ps_ModifyClick; sp_Children.Children.Add(ps); } } } if (sp_Children.Children.Count > 0) { _CurrentParamterSelected = sp_Children.Children[0] as ParameterSelected; } }
/// <summary> /// 弹出窗体 /// </summary> /// <returns></returns> public bool CheckSave() { if (_PageGuid.IsNullOrEmpty()) { Wrapper.ShowDialog("请选择要弹出的页面"); return(false); } //-->判断是否是当前的页面? if (this.IDesignFramework.GetCurrentXmlTemplate().BaseInfo.PageGUID.Equals(_PageGuid)) { Wrapper.ShowDialog("不能弹出当前页面,请选择其它弹出页面。"); return(false); } string eventName = string.Format("{0}", CurrentApiSelector.Name); string _controlName = string.Format("{0}", this.EventControlName); var xml = IDesignFramework.GetCurrentXmlTemplate(); if (null == xml.EventLinkItem) { xml.EventLinkItem = new List <EventLinkInfo>(); } //-->事件 var eli = xml.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>(); if (null == eli) { eli = new EventLinkInfo(); xml.EventLinkItem.Add(eli); } eli.ControlName = _controlName; eli.EventName = this.EventName; if (null == eli.Item) { eli.Item = new List <ControlActivityInfo>(); } //-->行为 var cai = eli.Item.Where(p => p.ControlName.Equals(_controlName) && p.EventName.Equals(eventName)).GetFirst <ControlActivityInfo>(); if (null == cai) { cai = new ControlActivityInfo(); eli.Item.Add(cai); } //-->保存操作。 cai.ActivityName = this.ActivityName; cai.ActivityType = this.ActivityType; cai.ControlName = _controlName; cai.EventName = eventName; cai.Description = "弹出窗体" + _PageGuid; cai.PageGuid = _PageGuid; //-->参数,初始化弹出窗体的时候,要有参数 IDesignFramework.UpdateCurrentTemplate(); return(true); }
void XtnCallFunSelector_Loaded(object sender, RoutedEventArgs e) { //-->显示标题 lblSelectCtrl.Text = string.Format("【{0}】控件参数", EventControlName); //-->加载其它控件 _xml = IDesignFramework.GetCurrentXmlTemplate(); InitLoadingOtherCtrl(_xml); BindControlEvent(_xml); //--> ReappearParam(_xml); }
void CallFunctionSelectors_Loaded(object sender, RoutedEventArgs e) { //-->获取出所有控件的方法来,来至两个地方,第一个接口,第二是控件自己的方法 var xml = IDesignFramework.GetCurrentXmlTemplate(); InitLoadingControl(xml); //-----------------------------注册事件绑定--------------------------- BindControlEvent(xml); //-------------------------------------------------------------------- InitParameter(xml); }
void LoadCtrlParam(ControlInfo ci, List <MetaDataColumnInfo> paramItem) { if (ci.MetaData.IsNotEmpty()) { foreach (var v in paramItem) { var ps = new ParameterSelected(); ps.txtParamName.Text = string.Format("{0}【{1}】", v.column_name, v.column_comment); ps.OrgMetaDataColumn = v; ps.FieldName = v.column_name; ps.DeleteClick += ps_DeleteClick; ps.ModifyClick += ps_ModifyClick; spCtrlParams.Children.Add(ps); } } /****************************************************************************** * * 控件的参数就是控件MetaData里的row信息, * * ControlDataSourceTable 所处在的 MetaData信息也要取出来。 * * *****************************************************************************/ if (ci.ControlDataSourceTableName.IsNotEmpty()) { var mdi = IDesignFramework.GetMetaDataInfoByTableName(ci.ControlDataSourceTableName); if (null != mdi && null != mdi.Item && 0 < mdi.Item.Count) { Label lbl = new Label(); lbl.Height = 2; lbl.Background = new SolidColorBrush(Colors.Black); spCtrlParams.Children.Add(lbl); foreach (var item in mdi.Item) { ParameterSelected ps = new ParameterSelected(); ps.txtParamName.Text = string.Format("{0}【{1}】", item.column_name, item.column_comment); ps.OrgMetaDataColumn = item; ps.FieldName = item.column_name; ps.OrgIsDataSource = true; ps.DeleteClick += ps_DeleteClick; ps.ModifyClick += ps_ModifyClick; spCtrlParams.Children.Add(ps); } } } }
/// <summary> /// /// </summary> /// <returns></returns> public bool CheckSave() { string eventName = string.Format("{0}", CurrentApiSelector.Name); string _controlName = string.Format("{0}", this.EventControlName); var xml = IDesignFramework.GetCurrentXmlTemplate(); if (null == xml.EventLinkItem) { xml.EventLinkItem = new List <EventLinkInfo>(); } //-->事件 var eli = xml.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>(); if (null == eli) { eli = new EventLinkInfo(); xml.EventLinkItem.Add(eli); } eli.ControlName = _controlName; eli.EventName = this.EventName; if (null == eli.Item) { eli.Item = new List <ControlActivityInfo>(); } //-->行为 var cai = eli.Item.Where(p => p.ControlName.Equals(_controlName) && p.EventName.Equals(eventName)).GetFirst <ControlActivityInfo>(); if (null == cai) { cai = new ControlActivityInfo(); eli.Item.Add(cai); } //-->保存操作。 cai.ActivityName = this.ActivityName; cai.ActivityType = this.ActivityType; cai.ControlName = _controlName; cai.EventName = eventName; var _guid = this.IDesignFramework.GetCurrentXmlTemplate().BaseInfo.PageGUID; cai.Description = "关闭窗体" + _guid; cai.PageGuid = _guid; //-->参数,初始化弹出窗体的时候,要有参数 IDesignFramework.UpdateCurrentTemplate(); return(true); }
void GetTextBoxValue() { var _xml = IDesignFramework.GetCurrentXmlTemplate(); var eli = _xml.EventLinkItem.Where( p => p.ControlName.Equals((ParentControl as FrameworkElement).Name) && p.EventName.Equals(MethodName)).GetFirst <EventLinkInfo>(); if (null != eli && 0 < eli.Item.Count) { var _eventItem = from p in eli.Item select p.Description.IsNullOrEmpty() ? p.EventName : p.Description; string _value = string.Join(",", _eventItem); string _messageTip = string.Format("[{0}]调用[{1}]方法;{2}", MethodName, _eventItem.Count(), _value); LoadInitValue(_value, _messageTip); } }
void UpdateDesignPage() { string eventName = string.Format("{0}", CurrentApiSelector.Name); string controlName = string.Format("{0}", this.EventControlName); //-->保存操作。 _CurrentActivityInfo.ActivityName = this.ActivityName; _CurrentActivityInfo.ActivityType = this.ActivityType; _CurrentActivityInfo.ControlName = controlName; _CurrentActivityInfo.EventName = eventName; _CurrentActivityInfo.Description = CurrentApiSelector.Description; _CurrentActivityInfo.Param = new List <ParamInfo>(); foreach (var v in _DictResult) { string[] arrayItem = v.Key.Split('|'); ParamInfo pi = new ParamInfo(); pi.TargetCtrlName = arrayItem[0]; pi.TargetFieldName = arrayItem[1]; pi.TargetFieldType = v.Value; _CurrentActivityInfo.Param.Add(pi); } if (0 <= _CurrentActivityInfoIndex) { _CurrentControlEventInfo.Item.RemoveAt(_CurrentActivityInfoIndex); } else { _CurrentActivityInfoIndex = 0; } _CurrentControlEventInfo.Item.Add(_CurrentActivityInfo); if (0 <= _CurrentControlEventIndex) { _XmlTemplate_Source.EventLinkItem.RemoveAt(_CurrentControlEventIndex); } else { _CurrentActivityInfoIndex = 0; } _XmlTemplate_Source.EventLinkItem.Add(_CurrentControlEventInfo); IDesignFramework.GetCurrentXmlTemplate().EventLinkItem = _XmlTemplate_Source.EventLinkItem; IDesignFramework.UpdateCurrentTemplate(); }
void UpdateDesignPage() { string eventName = string.Format("{0}", CurrentApiSelector.Name); string controlName = string.Format("{0}", ct.SelectedControlInfo.Name); //-->保存操作。 _CurrentActivityInfo.ActivityName = this.ActivityName; _CurrentActivityInfo.ActivityType = this.ActivityType; _CurrentActivityInfo.ControlName = controlName; _CurrentActivityInfo.EventName = eventName; _CurrentActivityInfo.Description = CurrentApiSelector.Description; _CurrentActivityInfo.Param = new List <ParamInfo>(); foreach (var v in this.sp_Children.Children) { ParameterSelected select = v as ParameterSelected; if (null == select || null == select.ParamForamt) { continue; } _CurrentActivityInfo.Param.Add(select.ParamForamt); } if (0 <= _CurrentActivityInfoIndex) { _CurrentControlEventInfo.Item.RemoveAt(_CurrentActivityInfoIndex); } else { _CurrentActivityInfoIndex = 0; } _CurrentControlEventInfo.Item.Add(_CurrentActivityInfo); if (0 <= _CurrentControlEventIndex) { _XmlTemplate.EventLinkItem.RemoveAt(_CurrentControlEventIndex); } else { _CurrentControlEventIndex = 0; } _XmlTemplate.EventLinkItem.Add(_CurrentControlEventInfo); IDesignFramework.GetCurrentXmlTemplate().EventLinkItem = _XmlTemplate.EventLinkItem; IDesignFramework.UpdateCurrentTemplate(); }
/// <summary> /// 查检是否保存 /// </summary> public bool CheckSave() { if (null == _CurrentDataTable) { Wrapper.ShowDialog("请选择绑定的表。"); return(false); } //-->给控件属性赋值 //-->判断是否选择了。如果没有选择的话,就不要这条记录 var dt = _CurrentDataTable[0]; //-->xml 控件信息设置 var xml = IDesignFramework.GetCurrentXmlTemplate(); var ci = IDesignFramework.GetControlInfoByControlName(this.CurrentSelectedControlName); if (null != ci) { ci.MetaData = dt.table_name; ci.ColumnName = string.Join("|", from p in _CurrentDataTable where p.IsChoose == true select p.column_name); //ci.ControlDataSourceTableName = dt.table_name; } //-->xaml 控件属性 var columns = from p in _CurrentDataTable where p.IsChoose == true select string.Format("{0}{1}{2}{1}{4}", p.column_comment, ConstantCollection.Separator_Wavy_line, p.column_name, ConstantCollection.Separator_Wavy_line, p.data_type); string fields = string.Join(",", columns); string result = string.Format("{0}{1}{2}", dt.table_name, ConstantCollection.Separator_Sub_section_number, fields); //foreach (var data in _CurrentDataTable) //{ // data.IsChoose = false; // data.IsHide = false; //} AddTableToXml(xml, _CurrentDataTable); IDesignFramework.UpdateCurrentTemplate(); _EvaluationContent = new XElement("DataSource", result); return(true); }
void AddPropertyToStackPanel(List <EventInfoAttribute> item) { double height = ConstantCollection.HEIGHT; string controlName = string.Format("{0}", this._ReadUIElement.GetValue(Canvas.NameProperty)); if (controlName.Length > 4 && controlName.Substring(0, 4).Equals("Form")) { controlName = "Form"; } var _xml = IDesignFramework.GetCurrentXmlTemplate(); foreach (var v in item) { PropertyGridEventBindCtrl pgec = new PropertyGridEventBindCtrl(); pgec.Name = string.Format("pgec_{0}", v.Name); pgec.ShowName = v.Description; pgec.Height = height; pgec.AssemblyQualifiedName = v.AssemblyQualifiedName; pgec.MethodName = v.Name; pgec.ParentControl = _ReadUIElement; pgec.IDesignFramework = this.IDesignFramework; pgec.LostFocus += new RoutedEventHandler(pgec_LostFocus); pgec.AttributeInfo = v; pgec.CurrentSelectedControlName = this.CurrentSelectedControlName; var eli = _xml.EventLinkItem.Where( p => p.ControlName.Equals(controlName) && p.EventName.Equals(pgec.MethodName)).GetFirst <EventLinkInfo>(); if (null != eli && 0 < eli.Item.Count) { var _eventItem = from p in eli.Item select p.Description.IsNullOrEmpty() ? p.EventName : p.Description; string _value = string.Join(",", _eventItem); string _messageTip = string.Format("[{0}]调用[{1}]方法;{2}", pgec.MethodName, _eventItem.Count(), _value); pgec.LoadInitValue(_value, _messageTip); } spPValue.Children.Add(pgec); } }
/// <summary> /// 增加控件绑定事件 /// </summary> void AddCtrlBindEvent(XmlTemplate xml) { var _cc = ParseControlConfig.GetControlConfig(CurrentSelectedSetEventControl.GetType().Name); var _be = _cc.Events.Where(p => p.Name.Equals(this.EventName)).GetFirst <BindEvent>(); EventBindInfo _ebi = new EventBindInfo(); _ebi.ControlName = this.EventControlName; _ebi.Item = new List <CtrlBindEventInfo>(); CtrlBindEventInfo _cbei = new CtrlBindEventInfo(); _cbei.EventName = this.EventName; _cbei.AssemblyName = _be.AssemblyName; _cbei.BindFunctionName = _be.BindFunctionName; _ebi.Item.Add(_cbei); xml.EventBindItem.Add(_ebi); IDesignFramework.UpdateCurrentTemplate(); }
void tv_MetaData_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { var tv = sender as TreeView; var item = tv.SelectedItem as TreeViewItem; var column = item.Tag as MetaDataColumnInfo; if (null == column) { Wrapper.ShowDialog("请选择一张表的字段。"); return; } var ci = IDesignFramework.GetControlInfoByControlName(CurrentSelectedControlName); ci.ColumnName = column.column_name; ci.Comment = column.column_comment; ci.MetaData = ((tv.GetParentItem(tv.SelectedItem) as TreeViewItem).Tag as MetaDataInfo).table_name; EvaluationContent = new XElement("DataSource", string.Format("{0}|{1}|{2}", ci.MetaData, ci.ColumnName, ci.Comment)); IDesignFramework.UpdateCurrentTemplate(); }
void InitParameter() { //-->获取出所有控件的方法来,来至两个地方,第一个接口,第二是控件自己的方法 _XmlTemplate = IDesignFramework.GetCurrentXmlTemplate(); string _controlName = Wrapper.ParseControlName(EventControlName); _CurrentControlEventInfo = _XmlTemplate.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>(); if (null != _CurrentControlEventInfo) { _CurrentControlEventIndex = _XmlTemplate.EventLinkItem.IndexOf(_CurrentControlEventInfo); _CurrentActivityInfo = _CurrentControlEventInfo.Item.Where(p => p.ActivityName == this.ActivityName).GetFirst <ControlActivityInfo>(); if (null == _CurrentActivityInfo) { _CurrentActivityInfo = new ControlActivityInfo(); _CurrentActivityInfo.Param = new List <ParamInfo>(); } else { _CurrentActivityInfoIndex = _CurrentControlEventInfo.Item.IndexOf(_CurrentActivityInfo); //-->1、初始化界面信息 if (null == _CurrentActivityInfo.Param || 0 == _CurrentActivityInfo.Param.Count) { _CurrentActivityInfo.Param = new List <ParamInfo>(); return; } //-->获取出是哪个控件。 ct.SetSelectionControl(_CurrentActivityInfo.ControlName); }//End if; } else { _CurrentControlEventInfo = new EventLinkInfo(); _CurrentControlEventInfo.EventName = this.EventName; _CurrentControlEventInfo.ControlName = _controlName; _CurrentControlEventInfo.Item = new List <ControlActivityInfo>(); _CurrentActivityInfo = new ControlActivityInfo(); _CurrentActivityInfo.Param = new List <ParamInfo>(); } }
void SetParameterSelectedValue(ParameterSelected ps, ParamInfo pi) { var _target_ci = IDesignFramework.GetControlInfoByControlName(pi.TargetCtrlName); if (null == _target_ci) { return; } var _target_mdi = IDesignFramework.GetMetaDataInfoByTableName(_target_ci.MetaData); if (null == _target_mdi) { return; } var _target_mdc = _target_mdi.Item.Where(p => p.column_name.Equals(pi.TargetFieldName)).GetFirst <MetaDataColumnInfo>(); if (null == _target_mdc) { return; } ps.InitLoadValue = pi; ps.Text = _target_mdc.column_comment; }
/// <summary> /// 方法 /// </summary> /// <param name="ui"></param> internal void ReadFunctions(UIElement ui) { spPValue.Children.Clear(); DisposePValue(); _ReadUIElement = ui; if (null == ui) { return; } var cc = ParseControlConfig.GetControlConfig(ui.GetType().Name); if (null == cc) { return; } //-->如果是Form里的子控件话吧,还得把Form里的函数取出来。 string controlName = string.Format("{0}", this._ReadUIElement.GetValue(Canvas.NameProperty)); var _xml = IDesignFramework.GetCurrentXmlTemplate(); AddFunctionToStackPanel(controlName, cc.Functions, _xml); string _newControlName = Wrapper.ParseControlName(controlName); if (_newControlName.Equals(controlName)) { return; } //-->说明此控件是Form控件里的一个子项 var _formCC = ParseControlConfig.GetControlConfig(ConstantCollection.FORM_PREFIX); if (null == _formCC || null == _formCC.Functions || 0 == _formCC.Functions.Count) { return; } AddFunctionToStackPanel(_newControlName, _formCC.Functions, _xml); }
/// <summary> /// 获取控件参数 /// </summary> /// <param name="xml"></param> /// <param name="MetaData"></param> /// <param name="ColumnName"></param> /// <returns></returns> List <MetaDataColumnInfo> _GetControlParameter(XmlTemplate xml, string MetaData, string ColumnName) { if (MetaData.IsNullOrEmpty() || ColumnName.IsNullOrEmpty()) { return(null); } //-->查找 metadata 里 row里的信息 var mdis = IDesignFramework.GetMetaDataInfoByTableName(MetaData); if (null == mdis) { return(null); } var items = ColumnName.Split('|'); if (1 < items.Length) { List <MetaDataColumnInfo> datas = new List <MetaDataColumnInfo>(); foreach (var field in items) { foreach (var mdci in mdis.Item) { if (mdci.column_name.Equals(field)) { datas.Add(mdci); break; } } } return(datas); } else { return(mdis.Item.Where(p => p.column_name.Equals(ColumnName)).GetTList <MetaDataColumnInfo>()); } }
List <MetaDataColumnInfo> _GetControlParameter(string MetaData, string ColumnName) { if (MetaData.IsNullOrEmpty() || ColumnName.IsNullOrEmpty()) { return(null); } //-->查找 metadata 里 row里的信息 var row = IDesignFramework.GetMetaDataInfoByTableName(MetaData); if (null == row) { return(null); } var items = ColumnName.Split('|'); if (1 < items.Length) { List <MetaDataColumnInfo> columns = new List <MetaDataColumnInfo>(); foreach (var item in items) { foreach (var column in row.Item) { if (column.column_name.Equals(item)) { columns.Add(column); break; } } } return(columns); } else { return(row.Item.Where(p => p.column_name.Equals(ColumnName)).GetTList <MetaDataColumnInfo>()); } }
/// <summary> /// 加载控件事件设置器 /// </summary> void LoadingControlEventDesinger() { cmd = new CtrlPlatformCommandInfo(); cmd.CommandName = ConstantCollection.CommandName_MixedCommand; string sql = string.Format("select t.* from EventDesigner t where t.PageGuid = '{0}' ", IDesignFramework.GetCurrentXmlTemplate().BaseInfo.PageGUID); sql += string.Format(" and t.ControlName = '{0}' ", _GetControlName()); sql += string.Format(" and t.EventName = '{0}'", this.EventName); cmd.ExecSql = new List <CtrlExecSQLCmd>(); var exec = new CtrlExecSQLCmd(CtrlExecSqlCmdType.Query, sql, "EventDesigner", this.Name, "LoadingControlEventDesinger"); cmd.ExecSql.Add(exec); cmd.TempValue = Wrapper.SetXmlValue("Query", "LoadingControlEventDesinger"); this.SendToService(cmd, this); }
bool UpdateXml() { if (null == metadata_username) { Wrapper.ShowDialog("请选择要关联的用户名字段!"); return(false); } if (null == metadata_password) { Wrapper.ShowDialog("请选择要关联的密码字段!"); return(false); } var fields = xtnTableField.Fields; if (null == fields || 0 == fields.Count) { Wrapper.ShowDialog("字符参数为空"); return(false); } var dt = fields[0]; var mdi = new MetaDataInfo(); //-->克隆出数据。 mdi.Item = fields.CloneList <MetaDataColumnInfo>(); mdi.table_comment = dt.table_comment; mdi.table_name = dt.table_name; mdi.table_type = dt.table_type; foreach (var data in mdi.Item) { data.table_comment = string.Empty; data.table_name = string.Empty; data.table_type = string.Empty; } var xml = IDesignFramework.GetCurrentXmlTemplate(); var ci = IDesignFramework.GetControlInfoByControlName(this.CurrentSelectedControlName); if (null == ci) { Wrapper.ShowDialog("找不着控件信息。"); return(false); } ci.MetaData = ci.MetaData.IsNullOrEmpty() ? _TableName : ci.MetaData; ci.ColumnName = string.Format("{0}|{1}", _UserField, _PasswordField); ci.ControlDataSourceTableName = mdi.table_name; //-->判断tableName是否已经增加了 var old_mdi = IDesignFramework.GetMetaDataInfoByTableName(mdi.table_name); if (null == old_mdi) { xml.MetaDataItem.Add(mdi); } IDesignFramework.UpdateCurrentTemplate(); string value = string.Format("{0}|{1}|{2}", this.xtnTableField.TableName, _UserField, _PasswordField); _EvaluationContent = new XElement("DataAssociated", value); return(true); }