Ejemplo n.º 1
0
        /// <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);
            }
        }
    }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 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);
             */
        }
Ejemplo n.º 6
0
        /// <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);
			*/
		}
Ejemplo n.º 8
0
		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();
					}
				}
			}
		}