none
Como consultar datos de una Lista <items> por condicion RRS feed

  • Pregunta

  • saludos, disculpen he llenado un dropdownlist de webforms con una lista, pero ahora debo llenar unos textbox dependiendo del value del dropdown y no se como crear la consulta para una list(of ClaseDatos),es decir en load cargo unas clavesEmpleados(el origen de datos es una lista) ,luego el usuario podrá selecionar una clave del dropdown y jalar datos en textbox, esto es algo que ya manejo en bases de datos, pero nunca lo habia hecho basado en una lista

    agredesco cualquier aporte


    La programacion en Microsoft cada ves se torna inalcanzable

    miércoles, 9 de diciembre de 2015 2:12

Respuestas

  • Para buscar dentro de una lista puedes usar el método de extensión de Linq 

    Find, FindAll, FinFirst, FindLast .... etc. Consulta la MSDN.

    Ejemplo

    Dim selectedValues As List(Of MiClasea)
    selectedValues = listaCompleta.FindAll(Function(p) p.Nombre = "PRUEBA")


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    lunes, 14 de diciembre de 2015 12:36
    Moderador

Todas las respuestas

  • hola

    Usa el evento SelectedIndeChanged del  DropDownList (recuerda asignar el AutoPostBack = true, sino no se ejecuta el evento)

    En este tomas la seleccion del combo y la usas de filtro para buscar los demas datos en la tabla, o sea

    public void dropdownlist1_SelectedIndexChanged(...)
    {
    	int id = Convert.Toint32()dropdownlist1.SelectedValue);
    
    	string connstring = "connection string";  
    	using (SqlConnection cn = new SqlConnection(connstring)) {  
    		cn.Open();  
    	 
    		string sql = "SELECT campo1, campo2, campo3 FROM Tabla WHERE id =@id";  
    		SqlCommand cmd = new SqlCommand(query, cn);  
    		cmd.Parameters.AddwithValue("@id", id);  
    	 
    		SqlDataReader reader = cmd.ExecuteReader();  
    	 
    		if (reader.Read())  
    		{  
    			TextBox1.Text = Convert.ToString(reader["campo1"]);  
    			TextBox3.Text = Convert.ToString(reader["campo2"]);  
    			TextBox2.Text = Convert.ToString(reader["campo3"]);  
    		}  
    	 
    	}
    
    }

    no se si en tu caso el id es numerico, pero bueno en todo caso usalo como stirng

    pero de esta forma puedes tomando la seleccion buscar en la tabla y recuperar los demas campos que mostrar en los textbox

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 9 de diciembre de 2015 3:59
  • He marcado respuestas. Si ves que no cumplen con tu solución desmarcalas y coméntanos un poco más de tu problema  para ayudarte. Gracias

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    miércoles, 9 de diciembre de 2015 9:42
    Moderador
  • hola

    Usa el evento SelectedIndeChanged del  DropDownList (recuerda asignar el AutoPostBack = true, sino no se ejecuta el evento)

    En este tomas la seleccion del combo y la usas de filtro para buscar los demas datos en la tabla, o sea

    public void dropdownlist1_SelectedIndexChanged(...)
    {
    	int id = Convert.Toint32()dropdownlist1.SelectedValue);
    
    	string connstring = "connection string";  
    	using (SqlConnection cn = new SqlConnection(connstring)) {  
    		cn.Open();  
    	 
    		string sql = "SELECT campo1, campo2, campo3 FROM Tabla WHERE id =@id";  
    		SqlCommand cmd = new SqlCommand(query, cn);  
    		cmd.Parameters.AddwithValue("@id", id);  
    	 
    		SqlDataReader reader = cmd.ExecuteReader();  
    	 
    		if (reader.Read())  
    		{  
    			TextBox1.Text = Convert.ToString(reader["campo1"]);  
    			TextBox3.Text = Convert.ToString(reader["campo2"]);  
    			TextBox2.Text = Convert.ToString(reader["campo3"]);  
    		}  
    	 
    	}
    
    }

    no se si en tu caso el id es numerico, pero bueno en todo caso usalo como stirng

    pero de esta forma puedes tomando la seleccion buscar en la tabla y recuperar los demas campos que mostrar en los textbox

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Agradesco su respuesta Leandro ,pero lo que pretendo es no volver a realizar otra consulta sql, pues se supone que ya los cargué en una lista de la sig forma:
    public function GetAll as List of(miClase)
    
    using cn as new sqlconection
    
    .....
    
    while reader.Read()
       Listaclients.Add(loadclie(reader))
    
    end while
     return Listaclients
    end function
    shared function loadclie(reader as IDatareader)
    
      miClase.name=Convert.Tostring(reader)
    


    La programacion en Microsoft cada ves se torna inalcanzable

    viernes, 11 de diciembre de 2015 21:33
  • He marcado respuestas. Si ves que no cumplen con tu solución desmarcalas y coméntanos un poco más de tu problema  para ayudarte. Gracias

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    Saludos sr. Parra, pues si podría hacerlo así, sin embargo busco una forma de manejar una lista como origen de datos,en un List<items> como acceder a un elemento?,tal vez usando link ? sino es posible me dicen y lo trabajaré como siempre

    gracias


    La programacion en Microsoft cada ves se torna inalcanzable


    viernes, 11 de diciembre de 2015 21:39
  • Para buscar dentro de una lista puedes usar el método de extensión de Linq 

    Find, FindAll, FinFirst, FindLast .... etc. Consulta la MSDN.

    Ejemplo

    Dim selectedValues As List(Of MiClasea)
    selectedValues = listaCompleta.FindAll(Function(p) p.Nombre = "PRUEBA")


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    lunes, 14 de diciembre de 2015 12:36
    Moderador