/// <summary> /// Initializes a new instance of the OKHOSTING.UI.Net4.WebForms.Controls.Autocomplete class. /// <para xml:alng="es">Inicializa una nueva instacia de la clase OKHOSTING.UI.Net4.WebForms.Controls.Autocomplete</para> /// </summary> public Autocomplete() { //set a default id so we ensure the extender's TargetControlID is set InnerTextBox = (TextBox)Platform.Current.Create <ITextBox>(); InnerTextBox.ID = "Autocomplete_InnerTextBox_" + new Random().Next(); base.Controls.Add(InnerTextBox); //ajax autocompleter InnerAutoCompleteExtender = new AjaxControlToolkit.AutoCompleteExtender(); InnerAutoCompleteExtender.ID = base.UniqueID + "_AutoCompleteExtender"; InnerAutoCompleteExtender.TargetControlID = InnerTextBox.ID; InnerAutoCompleteExtender.UseContextKey = true; InnerAutoCompleteExtender.ServiceMethod = "Search"; InnerAutoCompleteExtender.ServicePath = "/Services/AutoCompleteService.asmx"; //InnerAutoCompleteExtender.CompletionListCssClass = "AutoComplete_List"; //InnerAutoCompleteExtender.CompletionListItemCssClass = "AutoComplete_ListItem"; InnerAutoCompleteExtender.EnableCaching = false; base.Controls.Add(InnerAutoCompleteExtender); //ajax watermark InnerWatermarkExtender = new AjaxControlToolkit.TextBoxWatermarkExtender(); InnerWatermarkExtender.WatermarkText = "Search"; InnerWatermarkExtender.ID = base.UniqueID + "_TextBoxWatermarkExtender"; InnerWatermarkExtender.TargetControlID = InnerTextBox.ID; //InnerWatermarkExtender.WatermarkCssClass = "AutoComplete_Watermark"; base.Controls.Add(InnerWatermarkExtender); //add a unique id to session so we can invoke OnSearching from a ashx page SessionId = "Autocomplete_" + new Random().Next(); OKHOSTING.UI.Session.Current[SessionId] = this; InnerAutoCompleteExtender.ContextKey = SessionId; }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { for (int i = 0; i < 10; i++) { // Create TextBox and its properties string textBoxID = String.Format("{0}_{1}", "AutoCompleteTextBox", i); TextBox textbox = new TextBox(); textbox.ID = textBoxID; textbox.Width = new Unit(250); textbox.Attributes.Add("autocomplete", "off"); // Create AutoCompleteExtender and its properties AutoCompleteExtender autoCompleteExtender = new AjaxControlToolkit.AutoCompleteExtender(); autoCompleteExtender.TargetControlID = textBoxID; autoCompleteExtender.ServiceMethod = "GetCompletionList"; autoCompleteExtender.ServicePath = "YourAutoCompleteWebService.asmx"; autoCompleteExtender.CompletionInterval = 1500; autoCompleteExtender.CompletionSetCount = 10; autoCompleteExtender.EnableCaching = true; // Add created controls to the page controls collection this.Controls.Add(textbox); this.Controls.Add(autoCompleteExtender); } } }
protected override void CreateFilterCtrl(Control NamingContainer, ControlCollection content) { var tbxFilter = new TextBox() { ID = "tbx" + ColName, Width = new Unit(95, UnitType.Percentage) }; tbxFilter.Load += new EventHandler(tbxFilter_Load); tbxFilter.TextChanged += new EventHandler(tbxFilter_TextChanged); // Laden der aktuell gültigen Filtereinstellungen //tbxFilter_Load(tbxFilter, null); content.Add(tbxFilter); var autoComplete = new AjaxControlToolkit.AutoCompleteExtender() { TargetControlID = tbxFilter.ID, ServiceMethod = _serviceMethod, ServicePath = this.ServicePath, MinimumPrefixLength = this.MinimumPrelfixLength, CompletionSetCount = this.CompletionSetCount, CompletionInterval = this.CompletionInterval, EnableCaching = AutoCompleteEnableCaching }; content.Add(autoComplete); }
protected void GV_RowDataBound(object sender, GridViewRowEventArgs e) { if ((e.Row.RowState & DataControlRowState.Edit) > 0) { TextBox txtSuper = (TextBox)e.Row.FindControl("txtSupervisor"); AjaxControlToolkit.AutoCompleteExtender ac1 = (AjaxControlToolkit.AutoCompleteExtender)e.Row.FindControl("AutoCompleteExtender1"); ac1.TargetControlID = txtSuper.ID; } if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.Cells[1].Controls.Count > 0) { ((LinkButton)e.Row.Cells[1].Controls[0]).OnClientClick = "return DeleteDepartment();"; // confirm('Are you sure you want to delete?');"; } } }
/// <summary> /// Creates the controls for displaying the field /// </summary> protected override void CreateValueControls() { //create TextBox from base base.CreateValueControls(); //ajax autocompleter AjaxControlToolkit.AutoCompleteExtender autoComplete = new AjaxControlToolkit.AutoCompleteExtender(); autoComplete.ID = ValueControlId + "_AutoCompleteExtender"; autoComplete.UseContextKey = true; autoComplete.ContextKey = ((DataType)ValueType).UniqueId; autoComplete.TargetControlID = ValueControlId; autoComplete.ServiceMethod = "SearchDataObjects"; autoComplete.ServicePath = "/Services/DataObjectAutoCompleteService.asmx"; autoComplete.CompletionListCssClass = "AutoComplete_List"; autoComplete.CompletionListItemCssClass = "AutoComplete_ListItem"; autoComplete.EnableCaching = false; AditionalControls.Add(autoComplete); //ajax watermark AjaxControlToolkit.TextBoxWatermarkExtender watermark = new AjaxControlToolkit.TextBoxWatermarkExtender(); watermark.WatermarkText = OKHOSTING.Softosis.Core.Globalization.Translator.Current["OKHOSTING.Softosis.UI.Web.Controls.DataForms.DataObjectAutoCompleteField.Write here to search"]; watermark.ID = ValueControlId + "_TextBoxWatermarkExtender"; watermark.TargetControlID = ValueControlId; watermark.WatermarkCssClass = "AutoComplete_Watermark"; AditionalControls.Add(watermark); //"Show All" button /* * System.Web.UI.HtmlControls.HtmlAnchor showAll = new System.Web.UI.HtmlControls.HtmlAnchor(); * showAll.InnerText = "+"; * showAll.Style.Add("cursor", "pointer"); * showAll.Title = OKHOSTING.Softosis.Core.Globalization.LocalizedDictionary.Current["OKHOSTING.Softosis.UI.Web.Controls.DataForms.DataObjectAutoCompleteField.Show all"]; * showAll.PreRender += new EventHandler(showAll_PreRender); * AditionalControls.Add(showAll); */ }
/// <summary> /// Initializes a new instance of the OKHOSTING.UI.Net4.WebForms.Controls.Autocomplete class. /// <para xml:alng="es">Inicializa una nueva instacia de la clase OKHOSTING.UI.Net4.WebForms.Controls.Autocomplete</para> /// </summary> public Autocomplete() { //set a default id so we ensure the extender's TargetControlID is set InnerTextBox = (TextBox)Platform.Current.Create <ITextBox>(); ((ITextBox)InnerTextBox).Placeholder = "Search"; base.Controls.Add(InnerTextBox); //ajax autocompleter InnerAutoCompleteExtender = new AjaxControlToolkit.AutoCompleteExtender(); InnerAutoCompleteExtender.ID = InnerTextBox.ID + "_AutoCompleteExtender"; InnerAutoCompleteExtender.TargetControlID = InnerTextBox.ID; InnerAutoCompleteExtender.UseContextKey = true; InnerAutoCompleteExtender.ServiceMethod = "Search"; InnerAutoCompleteExtender.ServicePath = "/Services/AutoCompleteService.asmx"; //InnerAutoCompleteExtender.CompletionListCssClass = "AutoComplete_List"; //InnerAutoCompleteExtender.CompletionListItemCssClass = "AutoComplete_ListItem"; InnerAutoCompleteExtender.EnableCaching = false; base.Controls.Add(InnerAutoCompleteExtender); //add a unique id to session so we can invoke OnSearching from a ashx page SessionId = "Autocomplete_" + Guid.NewGuid().ToString().Replace('-', '_'); Session.Current[SessionId] = this; InnerAutoCompleteExtender.ContextKey = SessionId; }
/// <summary> /// Creates the controls for displaying the field /// </summary> protected override void CreateValueControls() { //create TextBox from base base.CreateValueControls(); //ajax autocompleter AjaxControlToolkit.AutoCompleteExtender autoComplete = new AjaxControlToolkit.AutoCompleteExtender(); autoComplete.ID = ValueControlId + "_AutoCompleteExtender"; autoComplete.UseContextKey = true; autoComplete.ContextKey = ((DataType)ValueType).UniqueId; autoComplete.TargetControlID = ValueControlId; autoComplete.ServiceMethod = "SearchDataObjects"; autoComplete.ServicePath = "/Services/DataObjectAutoCompleteService.asmx"; autoComplete.CompletionListCssClass = "AutoComplete_List"; autoComplete.CompletionListItemCssClass = "AutoComplete_ListItem"; autoComplete.EnableCaching = false; AditionalControls.Add(autoComplete); //ajax watermark AjaxControlToolkit.TextBoxWatermarkExtender watermark = new AjaxControlToolkit.TextBoxWatermarkExtender(); watermark.WatermarkText = OKHOSTING.Softosis.Core.Globalization.Translator.Current["OKHOSTING.Softosis.UI.Web.Controls.DataForms.DataObjectAutoCompleteField.Write here to search"]; watermark.ID = ValueControlId + "_TextBoxWatermarkExtender"; watermark.TargetControlID = ValueControlId; watermark.WatermarkCssClass = "AutoComplete_Watermark"; AditionalControls.Add(watermark); //"Show All" button /* System.Web.UI.HtmlControls.HtmlAnchor showAll = new System.Web.UI.HtmlControls.HtmlAnchor(); showAll.InnerText = "+"; showAll.Style.Add("cursor", "pointer"); showAll.Title = OKHOSTING.Softosis.Core.Globalization.LocalizedDictionary.Current["OKHOSTING.Softosis.UI.Web.Controls.DataForms.DataObjectAutoCompleteField.Show all"]; showAll.PreRender += new EventHandler(showAll_PreRender); AditionalControls.Add(showAll); */ }
protected void plcSELECT_Init(object sender, EventArgs e) { PlaceHolder plcSELECT = sender as PlaceHolder; if ( plcSELECT != null ) { if ( !bSupportsPopups ) { DropDownList lstRELATED_ID = new DropDownList(); HtmlGenericControl spnAjaxErrors = new HtmlGenericControl("span"); plcSELECT.Controls.Add(lstRELATED_ID); plcSELECT.Controls.Add(spnAjaxErrors); lstRELATED_ID.ID = "lst" + sRELATED_ID_FIELD; lstRELATED_ID.Enabled = bEnabled; lstRELATED_ID.DataValueField = sRELATED_SOURCE_ID_FIELD ; lstRELATED_ID.DataTextField = sRELATED_SOURCE_NAME_FIELD; try { lstRELATED_ID.DataSource = SourceData(); lstRELATED_ID.DataBind(); } catch(Exception ex) { SplendidError.SystemError(new StackTrace(true).GetFrame(0), ex); spnAjaxErrors.InnerHtml = "<br />" + ex.Message; } } else { string sTABLE_NAME = Sql.ToString(Application["Modules." + sRELATED_SOURCE_MODULE_NAME + ".TableName" ]); string sRELATIVE_PATH = Sql.ToString(Application["Modules." + sRELATED_SOURCE_MODULE_NAME + ".RelativePath"]); string sSINGULAR_NAME = sTABLE_NAME; if ( sSINGULAR_NAME.EndsWith("IES") ) sSINGULAR_NAME = sSINGULAR_NAME.Substring(0, sSINGULAR_NAME.Length-3) + "Y"; else if ( sSINGULAR_NAME.EndsWith("S") ) sSINGULAR_NAME = sSINGULAR_NAME.Substring(0, sSINGULAR_NAME.Length-1); HtmlGenericControl nobr = new HtmlGenericControl("nobr"); plcSELECT.Controls.Add(nobr); HiddenField RELATED_ID = new HiddenField(); HiddenField PREV_RELATED_NAME = new HiddenField(); TextBox RELATED_NAME = new TextBox(); Literal SPACER = new Literal(); Button SELECT_NAME = new Button(); HtmlGenericControl spnAjaxErrors = new HtmlGenericControl("span"); nobr.Controls.Add(RELATED_ID ); nobr.Controls.Add(PREV_RELATED_NAME ); nobr.Controls.Add(RELATED_NAME ); nobr.Controls.Add(SPACER ); nobr.Controls.Add(SELECT_NAME ); plcSELECT.Controls.Add(spnAjaxErrors); RELATED_ID.ID = sRELATED_ID_FIELD; PREV_RELATED_NAME.ID = "PREV_" + sRELATED_NAME_FIELD; RELATED_NAME.ID = sRELATED_NAME_FIELD; RELATED_NAME.Enabled = bEnabled; SPACER.Text = " "; SELECT_NAME.ID = "SELECT_NAME"; SELECT_NAME.Enabled = bEnabled; SELECT_NAME.CssClass = "button"; SELECT_NAME.Text = L10n.Term(".LBL_SELECT_BUTTON_LABEL"); SELECT_NAME.ToolTip = L10n.Term(".LBL_SELECT_BUTTON_TITLE"); RELATED_NAME.Attributes.Add("autocomplete", "off"); RELATED_NAME.Attributes.Add("onblur", sTABLE_NAME + "_" + sSINGULAR_NAME + "_" + sRELATED_NAME_FIELD + "_Changed(this);"); ImageButton btnUpdate = plcSELECT.FindControl("btnUpdate") as ImageButton; SELECT_NAME.OnClientClick = "return ModulePopup('" + sRELATED_SOURCE_MODULE_NAME + "', '" + RELATED_ID.ClientID + "', '" + RELATED_NAME.ClientID + "', null, false, null, '" + btnUpdate.ClientID + "');"; // 07/28/2010 Save AjaxAutoComplete and SupportsPopups for use in RelatedSelect. // We are having issues with the data binding event occurring before the page load. if ( bAjaxAutoComplete || Sql.ToBoolean(Page.Items["AjaxAutoComplete"]) ) { AjaxControlToolkit.AutoCompleteExtender auto = new AjaxControlToolkit.AutoCompleteExtender(); plcSELECT.Controls.Add(auto); auto.ID = "auto" + sRELATED_NAME_FIELD; auto.TargetControlID = sRELATED_NAME_FIELD; // 10/14/2011 We need to include the singular name as that is part of the convention. auto.ServiceMethod = sTABLE_NAME + "_" + sSINGULAR_NAME + "_" + sRELATED_NAME_FIELD + "_List"; auto.OnClientItemSelected = sTABLE_NAME + "_" + sSINGULAR_NAME + "_" + sRELATED_NAME_FIELD + "_ItemSelected"; auto.ServicePath = "~/" + sRELATED_SOURCE_MODULE_NAME + "/AutoComplete.asmx"; auto.MinimumPrefixLength = 2; auto.CompletionInterval = 250; auto.EnableCaching = true; // 12/09/2010 Provide a way to customize the AutoComplete.CompletionSetCount. auto.CompletionSetCount = Crm.Config.CompletionSetCount(); } } } }