/// <summary> /// 渲染 HTML 之前调用(页面第一次加载或者普通回发) /// </summary> protected override void OnFirstPreRender() { base.OnFirstPreRender(); #region options if (!ShowTrigger) { OB.AddProperty("hideTrigger", true); } if (!EnableEdit) { OB.AddProperty("editable", false); } string renderScript = String.Empty; if (!ShowTrigger1) { renderScript += String.Format("this.triggerCell.item(0).setDisplayed(false);"); } if (!ShowTrigger2) { renderScript += String.Format("this.triggerCell.item(1).setDisplayed(false);"); } if (!String.IsNullOrEmpty(renderScript)) { //renderScript += "this.updateLayout();"; OB.Listeners.AddProperty("afterrender", JsHelper.GetFunction(renderScript), true); } #endregion #region Trigger1Icon/Trigger2Icon if (Trigger1Icon != TriggerIcon.None) { OB.AddProperty("trigger1Cls", TriggerIconHelper.GetName(Trigger1Icon)); } else if (!String.IsNullOrEmpty(Trigger1IconUrl)) { string className = String.Format("f_{0}_twintriggerbox_icon1", XID); string selector = String.Format(".x-form-field-wrap .x-form-twin-triggers .{0}", className); AddStartupCSS(className, StyleUtil.GetBackgroundStyle(selector, ResolveUrl(Trigger1IconUrl))); OB.AddProperty("trigger1Cls", className); } if (Trigger2Icon != TriggerIcon.None) { OB.AddProperty("trigger2Cls", TriggerIconHelper.GetName(Trigger2Icon)); } else if (!String.IsNullOrEmpty(Trigger2IconUrl)) { string className = String.Format("f_{0}_twintriggerbox_icon2", XID); string selector = String.Format(".x-form-field-wrap .x-form-twin-triggers .{0}", className); AddStartupCSS(className, StyleUtil.GetBackgroundStyle(selector, ResolveUrl(Trigger2IconUrl))); OB.AddProperty("trigger2Cls", className); } #endregion #region Trigger1Click/Trigger1Click if (Enabled) { string clientTrigger1ClickScript = OnClientTrigger1Click; if (!String.IsNullOrEmpty(clientTrigger1ClickScript) && !clientTrigger1ClickScript.EndsWith(";")) { clientTrigger1ClickScript += ";"; } string trigger1PostbackScript = String.Empty; if (EnableTrigger1PostBack) { trigger1PostbackScript = GetPostBackEventReference("Trigger$1"); } //string trigger1ClickScript = String.Format("function(){{{0}}}", clientTrigger1ClickScript + trigger1PostbackScript); //// createDelegate 用来为一个Function创建一个Scope //OB.AddProperty(OptionName.OnTrigger1Click, String.Format("({0}).createDelegate(box)", trigger1ClickScript), true); OB.AddProperty("onTrigger1Click", JsHelper.GetFunction(clientTrigger1ClickScript + trigger1PostbackScript), true); string clientTrigger2ClickScript = OnClientTrigger2Click; if (!String.IsNullOrEmpty(clientTrigger2ClickScript) && !clientTrigger2ClickScript.EndsWith(";")) { clientTrigger2ClickScript += ";"; } string trigger2PostbackScript = String.Empty; if (EnableTrigger2PostBack) { trigger2PostbackScript = GetPostBackEventReference("Trigger$2"); } //string trigger2ClickScript = String.Format("function(){{{0}}}", clientTrigger2ClickScript + Trigger2PostbackScript); //// createDelegate 用来为一个Function创建一个Scope //OB.AddProperty(OptionName.OnTrigger2Click, String.Format("({0}).createDelegate(box)", trigger2ClickScript), true); OB.AddProperty("onTrigger2Click", JsHelper.GetFunction(clientTrigger2ClickScript + trigger2PostbackScript), true); } #endregion #region Specialkey if (Enabled) { // 首先启用enableKeyEvents //OB.AddProperty("enableKeyEvents", true); OB.Listeners.AddProperty("specialkey", String.Format("function(field,e){{if(e.getKey()==e.ENTER){{{0}.onTrigger2Click();e.stopEvent();}}}}", XID), true); } #endregion // F('SimpleForm1_ttbxMyBox2').triggerEl.item(0).show(); string jsContent = String.Format("var {0}=Ext.create('Ext.form.field.Trigger',{1});", XID, OB.ToString()); AddStartupScript(jsContent); }
protected override void OnFirstPreRender() { base.OnFirstPreRender(); #region options if (!ShowTrigger) { OB.AddProperty("hideTrigger", true); } if (!EnableEdit) { OB.AddProperty("editable", false); } #endregion #region TriggerIcon if (TriggerIcon != TriggerIcon.None) { OB.AddProperty("triggerClass", TriggerIconHelper.GetName(TriggerIcon)); } else if (!String.IsNullOrEmpty(TriggerIconUrl)) { string className = String.Format("fineui_{0}_triggerbox_icon", XID); string selector = String.Format(".x-form-field-wrap .{0}", className); AddStartupCSS(className, StyleUtil.GetBackgroundStyle(selector, ResolveUrl(TriggerIconUrl))); OB.AddProperty("triggerClass", className); } #endregion #region TriggerClick if (Enabled) { string clientClickScript = OnClientTriggerClick; if (!String.IsNullOrEmpty(clientClickScript) && !clientClickScript.EndsWith(";")) { clientClickScript += ";"; } string postbackScript = String.Empty; if (EnablePostBack) { postbackScript = GetPostBackEventReference(); } OB.AddProperty("onTriggerClick", JsHelper.GetFunction(clientClickScript + postbackScript), true); } #endregion #region Specialkey if (Enabled) { // 首先启用enableKeyEvents //OB.AddProperty("enableKeyEvents", true); OB.Listeners.AddProperty("specialkey", String.Format("function(field,e){{if(e.getKey()==e.ENTER){{{0}.onTriggerClick();e.stopEvent();}}}}", XID), true); //OB.Listeners.AddProperty("keydown", JsHelper.GetFunction("var i=0;"), true); } #endregion #region old code //// 只禁用文本框,不禁用Trigger //if (Readonly) //{ // //OB.AddProperty(OptionName.Disabled, true); // //AddAbsoluteStartupScript( String.Format("{0}.el.dom.disabled=true;", ClientID)); // //OB.Listeners.AddProperty(OptionName.Focus, String.Format("function(field){{field.blur.defer(10,field);\r\n}}"), true); // //OB.Listeners.AddProperty(OptionName.Keydown, String.Format("function(){{return false;}}"), true); // // 晕,最后的解决方案居然是设置 readonly=true // OB.AddProperty(OptionName.ReadOnly, true); // //string cssClassName = CssClass; // //cssClassName += "x-item-disabled"; // //OB.RemoveProperty(OptionName.Cls); // //OB.AddProperty(OptionName.Cls, cssClassName); // //OB.AddProperty(OptionName.FocusClass, ""); //} #endregion string jsContent = String.Format("var {0}=new Ext.form.TriggerField({1});", XID, OB.ToString()); AddStartupScript(jsContent); }
/// <summary> /// 渲染 HTML 之前调用(页面第一次加载或者普通回发) /// </summary> protected override void OnFirstPreRender() { base.OnFirstPreRender(); #region options if (!ShowTrigger) { OB.AddProperty("hideTrigger", true); } if (!ShowTrigger1) { OB.AddProperty("hideTrigger1", true); } if (!ShowTrigger2) { OB.AddProperty("hideTrigger2", true); } if (!EnableEdit) { OB.AddProperty("editable", false); } #endregion #region Trigger1Icon/Trigger2Icon if (Trigger1Icon != TriggerIcon.None) { OB.AddProperty("trigger1Class", TriggerIconHelper.GetName(Trigger1Icon)); } else if (!String.IsNullOrEmpty(Trigger1IconUrl)) { string className = String.Format("fineui_{0}_twintriggerbox_icon1", XID); string selector = String.Format(".x-form-field-wrap .x-form-twin-triggers .{0}", className); AddStartupCSS(className, StyleUtil.GetBackgroundStyle(selector, ResolveUrl(Trigger1IconUrl))); OB.AddProperty("trigger1Class", className); } if (Trigger2Icon != TriggerIcon.None) { OB.AddProperty("trigger2Class", TriggerIconHelper.GetName(Trigger2Icon)); } else if (!String.IsNullOrEmpty(Trigger2IconUrl)) { string className = String.Format("fineui_{0}_twintriggerbox_icon2", XID); string selector = String.Format(".x-form-field-wrap .x-form-twin-triggers .{0}", className); AddStartupCSS(className, StyleUtil.GetBackgroundStyle(selector, ResolveUrl(Trigger2IconUrl))); OB.AddProperty("trigger2Class", className); } #endregion #region Trigger1Click/Trigger1Click if (Enabled) { string clientTrigger1ClickScript = OnClientTrigger1Click; if (!String.IsNullOrEmpty(clientTrigger1ClickScript) && !clientTrigger1ClickScript.EndsWith(";")) { clientTrigger1ClickScript += ";"; } string trigger1PostbackScript = String.Empty; if (EnableTrigger1PostBack) { trigger1PostbackScript = GetPostBackEventReference("Trigger$1"); } //string trigger1ClickScript = String.Format("function(){{{0}}}", clientTrigger1ClickScript + trigger1PostbackScript); //// createDelegate 用来为一个Function创建一个Scope //OB.AddProperty(OptionName.OnTrigger1Click, String.Format("({0}).createDelegate(box)", trigger1ClickScript), true); OB.AddProperty("onTrigger1Click", JsHelper.GetFunction(clientTrigger1ClickScript + trigger1PostbackScript), true); string clientTrigger2ClickScript = OnClientTrigger2Click; if (!String.IsNullOrEmpty(clientTrigger2ClickScript) && !clientTrigger2ClickScript.EndsWith(";")) { clientTrigger2ClickScript += ";"; } string trigger2PostbackScript = String.Empty; if (EnableTrigger2PostBack) { trigger2PostbackScript = GetPostBackEventReference("Trigger$2"); } //string trigger2ClickScript = String.Format("function(){{{0}}}", clientTrigger2ClickScript + Trigger2PostbackScript); //// createDelegate 用来为一个Function创建一个Scope //OB.AddProperty(OptionName.OnTrigger2Click, String.Format("({0}).createDelegate(box)", trigger2ClickScript), true); OB.AddProperty("onTrigger2Click", JsHelper.GetFunction(clientTrigger2ClickScript + trigger2PostbackScript), true); } #endregion #region Specialkey if (Enabled) { // 首先启用enableKeyEvents //OB.AddProperty("enableKeyEvents", true); OB.Listeners.AddProperty("specialkey", String.Format("function(field,e){{if(e.getKey()==e.ENTER){{{0}.onTrigger2Click();e.stopEvent();}}}}", XID), true); } #endregion #region old code //string renderScript = String.Empty; ////// 只禁用文本框,不禁用Trigger ////if (!EnableTextBox) ////{ //// //AddAbsoluteStartupScript(String.Format("{0}.el.dom.disabled=true;", ClientJavascriptID)); //// renderScript += String.Format("{0}.el.dom.disabled=true;", ClientJavascriptID); ////} //if (AjaxPropertyChanged("ShowTrigger1", ShowTrigger1)) //{ // AddAjaxPropertyChangedScript(String.Format("{0}.getTrigger(0).{1}();", XID, ShowTrigger1 ? "show" : "hide")); //} //if (AjaxPropertyChanged("ShowTrigger2", ShowTrigger2)) //{ // AddAjaxPropertyChangedScript(String.Format("{0}.getTrigger(1).{1}();", XID, ShowTrigger2 ? "show" : "hide")); //} //renderScript = "(function(){" + renderScript + "}).defer(20);"; //OB.Listeners.AddProperty("render", "function(component){" + renderScript + "}", true); #endregion string jsContent = String.Format("var {0}=new Ext.form.TwinTriggerField({1});", XID, OB.ToString()); AddStartupScript(jsContent); }