• Domingo 22 de Diciembre de 2024, 14:03

Autor Tema:  Dropdownlist  (Leído 2811 veces)

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Dropdownlist
« en: Lunes 5 de Diciembre de 2005, 16:26 »
0
Hola,

¿Alguien sabe como hacer que en un dropdownlist que cargo desde una base de datos sql.server, me muestre como primer valor del desplegable el valor de una variable que tengo??? (el valor de esta variable forma parte de los valores de la base de datos que quiero cargar)

Es decir, quiero hacer una especie de (GROUP BY "idtabla" (ASC)), pero con un primer valor de una variable.

A alguion se le ocurre como hacerlo??

GRACIAS.

IGarcia

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Dropdownlist
« Respuesta #1 en: Lunes 5 de Diciembre de 2005, 18:30 »
0
Hola Burn!!
Aqui te dejo un Sub que recorre los valores de una BD SQLServer y me saca como primer valor el primer registro ordenado de la BD. Espero que te sirva.

Código: Text
  1.   Sub DropDownList_Zona()
  2.         Dim MyCommandZona As SqlClient.SqlCommand
  3.         Dim oReaderZona As SqlClient.SqlDataReader
  4.         Dim SelectCmdZona As String = "SELECT codzon FROM zonas order by codzon"
  5.         MyCommandZona = New SqlClient.SqlCommand(SelectCmdZona, SqlConnection1)
  6.         MyCommandZona.Connection.Open()
  7.         oReaderZona = MyCommandZona.ExecuteReader()
  8.         codzon.DataSource = oReaderZona
  9.         codzon.DataBind()
  10.         oReaderZona.Close()
  11.         MyCommandZona.Connection.Close()
  12. End Sub
  13.  

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Dropdownlist
« Respuesta #2 en: Lunes 5 de Diciembre de 2005, 19:41 »
0
Si el valor forma parte de los valores de la consulta, entonces tienes que pulir tu consulta ya sea por un like, order by, etc.

Ahora si no forma parte entonces saca en una tabla tu consulta y luego realiza un bucle for para agregar los items de esta tabla pero antes de entrar al bucle coloca el item que quieres colocar.

Código: Text
  1.  
  2. Dim lstItem as New ListItem
  3. lstItem.Text = "Valor"
  4. lstItem.Value = "0"
  5. dropdown.items.add(lstitem)
  6.  
  7. For i = 0 to table.Rows.count
  8.   Dim lstItem as New ListItem
  9.   lstItem.Text = "Valor"
  10.   lstItem.Value = "0"
  11.   dropdown.items.add(lstitem)
  12. Next
  13.  
  14.  

Bueno algo asi seria, ojo que no probe el codigo por si acaso tiene algun error de escritura OK

Salu2
 :comp:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Re: Dropdownlist
« Respuesta #3 en: Miércoles 7 de Diciembre de 2005, 09:32 »
0
Hola, gracias por la ayuda.

Estoy intentando aplicar el codigo que me has puesto al mio (Kev) pero no consigo hacer que esto funcione. Voy a especificar un poco mas lo que intento hacer.
1.-Hago una consulta que muestro en un datalist. (HECHO)
2.-Quiero que cada dato del datalist me lo muestre en un dropdowntable diferente, y es esto lo que realmetne quiero hacer. Que me mueste este dato por defecto y que haciendole el respectivo click a la pestaña me salgan todos los valores de otra consulta. Esto con data dato del datalist.
Intento hacer esto......... pero no funciona.... a ver que tal lo veis...

Código: Text
  1.  
  2. sqlconn = new SQLConnection ("server=Id04; database=RafaProva1; user id=sa;")
  3. sqlconn.Open()          
  4. dim sql as string =
  5. "SELECT ci.descriptions,ci.ColourName,ci.DateYear,ci.NumWays,ci.TypeT,ci.Family,ci.SubFamily,ci.Location,ci.Status FROM ConnectorInfo ci WHERE ci.ref='" + id + "'"
  6. sqlcomm=new SQLDataAdapter(sql, sqlconn)
  7. sqlcomm.fill(ds, "Results")    
  8. sqlconn.close()
  9. Dim lstItem as New ListItem
  10. lstItem.Text = ds.Tables("Results").rows(0).tostring()
  11. lstItem.Value ="0"
  12. ddl1.items.add(lstitem)
  13. dim table_aux as new table
  14. dim sql1 as string = "SELECT * FROM ColourList"
  15. sqlcomm = new SQLDataAdapter (sql1,sqlconn)
  16. sqlcomm.fill(ds,"TColor")
  17.    
  18. dim i as integer
  19. dim lstItem2 as new listItem        
  20. For i = 0 to (ds.Tables("TColor").Rows.count-1)        
  21. lstItem2.Text = ds.Tables("TColor").Rows(i).tostring()
  22. lstItem2.Value = "0"
  23. ddl1.items.add(lstitem2)
  24. Next
  25. sqlconn.Close()
  26.  
  27.  

y el dropdownlist me muestra estos resultados 'System.Data.DataRow' y encima me deja un espacio en blanco en el valor por defecto, donde deberia ir el resultado de la primera consulta.

Como lo veis??

Gracias por adelantado.

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Re: Dropdownlist
« Respuesta #4 en: Miércoles 7 de Diciembre de 2005, 09:36 »
0
El valor en blanco esta solventado, (era un error en el form), pero con lo otro sigo igual. :S:S

Burn^_^

  • Miembro activo
  • **
  • Mensajes: 61
    • Ver Perfil
Re: Dropdownlist
« Respuesta #5 en: Miércoles 7 de Diciembre de 2005, 11:39 »
0
Encontre la solucion, era simple pero no caia... gracias.

Código: Text
  1.  
  2. Dim lstItem as New ListItem
  3. lstItem.Text = ds.Tables("Results").rows(0)(0).tostring()
  4. lstItem.Value ="0"
  5. ddl1.items.add(lstitem.text)
  6. dim sql1 as string = "SELECT * FROM ColourList"
  7. sqlcomm = new SQLDataAdapter (sql1,sqlconn)
  8. sqlcomm.fill(ds,"TColor")
  9. dim i as integer
  10. For i = 0 to (ds.Tables("TColor").Rows.count-1)
  11. lstItem.Text = ds.Tables("TColor").Rows(i)(0).tostring()
  12. lstItem.Value = i+1
  13. ddl1.items.add(lstitem.text)
  14. Next
  15.  
  16.