none
Buscar y autocompletar en un DropDownList c# RRS feed

  • Pregunta

  • Hola eso si se puede posicionarse en un dropdownlist y a medida que se escribe buscar y filtrar el resultado en caso de que el dropdownlist tenga una lista grande para no tener que recorrer hasta encontrar el dato requerido un ejemplo si presiona la letra "a" en el combo mostrar todas las coincidencias que comience con la letra "a" y a medida que ingreso otra letra filtrar

    en un viejo codigo vb para formulario windows lo tenia asi

    Public Function AutoCompletar_combo(ctlComboBox As Control)
        Dim i As Integer
        Dim intSel As Integer
     
        Select Case (Backspaced Or Len(ctlComboBox.Text) = 0)
            Case True: Backspaced = False: Exit Function
        End Select
     
        With ctlComboBox
         
            For i = 0 To .ListCount - 1
                If InStr(1, .List(i), .Text, vbTextCompare) = 1 Then
                    intSel = .SelStart
                    .Text = .List(i)
                    .SelStart = intSel
                    .SelLength = Len(.Text) - intSel
                    Exit For
                End If
            Next
        End With
     
    End Function

    desde ya gracias y es para asp.net c#

    miércoles, 25 de febrero de 2015 12:31

Respuestas

Todas las respuestas

  • Utiliza este codigo de ejemplo para guiarte ... es para autocompletar y mostrar resultados en un gridview

     private void Form1_Load(object sender, EventArgs e)
            {
                dataGridView1.ColumnCount = 3;
                dataGridView1.Columns[0].Name = "Producto ID";
                dataGridView1.Columns[1].Name = "Producto Nombre";
                dataGridView1.Columns[2].Name = "Producto Precio";
    
                string[] row = new string[] { "1", "Producto 1", "1000" };
                dataGridView1.Rows.Add(row);
                row = new string[] { "2", "Producto 2", "2000" };
                dataGridView1.Rows.Add(row);
                row = new string[] { "3", "Producto 3", "3000" };
                dataGridView1.Rows.Add(row);
                row = new string[] { "4", "Producto 4", "4000" };
                dataGridView1.Rows.Add(row);
    
            }
    
            private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
            {
                string titleText = dataGridView1.Columns[1].HeaderText;
                if (titleText.Equals("Product Name"))
                {
                    TextBox autoText = e.Control as TextBox;
                    if (autoText != null)
                    {
                        autoText.AutoCompleteMode = AutoCompleteMode.Suggest;
                        autoText.AutoCompleteSource = AutoCompleteSource.CustomSource;
                        AutoCompleteStringCollection DataCollection = new AutoCompleteStringCollection();
                        addItems(DataCollection);
                        autoText.AutoCompleteCustomSource = DataCollection;       
                    }
                }
             }
    
            public void addItems(AutoCompleteStringCollection col)
            {
                col.Add("Producto 1");
                col.Add("Producto 2");
                col.Add("Producto 3");
                col.Add("Producto 4");
          
            }
    


    O tambien puedes guiarte de esta pagina  http://stackoverflow.com/questions/22078204/how-to-get-datagridview-autocomplete-to-show-for-only-one-column

    • Editado fredsale miércoles, 25 de febrero de 2015 13:38
    miércoles, 25 de febrero de 2015 13:36
  • hola

    pero estas en un desarrollo web ? porque consultas en el foro de asp.net

    pero el codigo que muestras refleja un DataGridView que es winforms

    el control DropDownlist es asp.net, o se no queda claro que tipo de desarrollo estas realizando

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 25 de febrero de 2015 13:50
  • hola

    pero estas en un desarrollo web ? porque consultas en el foro de asp.net

    pero el codigo que muestras refleja un DataGridView que es winforms

    el control DropDownlist es asp.net, o se no queda claro que tipo de desarrollo estas realizando

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    si el desarrollo es en asp.net y lo quiero hacer en un dropdownlist por eso puse es para asp.net y c# en la pregunta

    miércoles, 25 de febrero de 2015 14:00
  • pero porque el codigo que pones es de un DataGridView de un desarrollo windows application ?

    para un autocomplete en web debes usar ajax

    ASP.NET: AJAX Cascading Dropdownlist with Autosuggest using Jquery

    en este caso usas jquery

    o sea un autocomplete en asp.net no tiene  ni remotamente un parecido en winforms

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta EnzoTuc40 miércoles, 25 de febrero de 2015 19:35
    miércoles, 25 de febrero de 2015 14:16
  • pero porque el codigo que pones es de un DataGridView de un desarrollo windows application ?

    para un autocomplete en web debes usar ajax

    ASP.NET: AJAX Cascading Dropdownlist with Autosuggest using Jquery

    en este caso usas jquery

    o sea un autocomplete en asp.net no tiene  ni remotamente un parecido en winforms

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Gracias por responder voy a revisar lo que me dices en cuanto al datagridview no lo respondi yo esta por

    miércoles, 25 de febrero de 2015 14:21