Foros del Web » Programando para Internet » ASPX (.net) »

datos en ListBox

Estas en el tema de datos en ListBox en el foro de ASPX (.net) en Foros del Web. Hola Amigos, Miren tengo el siguiente problema, a ver si alguien me puede ayudar soy inexperto en Asp.net y se me a hecho un lio ...
  #1 (permalink)  
Antiguo 01/10/2006, 20:56
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
datos en ListBox

Hola Amigos,

Miren tengo el siguiente problema, a ver si alguien me puede ayudar soy inexperto en Asp.net y se me a hecho un lio tratar de sacar los datos de una BD y mostrarlos en un ListBox, de los ejemplos del virtual estudio acomode el codigo siguiente pero no logro sacar los datos:

<%@ Page Language="VB"%>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<html>
<head>

<script runat="server">
Dim MyConnection As OleDbConnection

Sub Page_Load(Sender As Object, E As EventArgs)

MyConnection = New OleDbConnection("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & Server.MapPath("../yyyyyy/zzzzzz.mdb"))

If Not (IsPostBack)

Dim DS As DataSet
Dim MyCommand As OleDbDataAdapter

MyCommand = New OleDbDataAdapter("select distinct cepa from vinos", MyConnection)
DS = new DataSet()
MyCommand.Fill(DS, "vinos")

MySelect.DataSource= DS.Tables("vinos").DefaultView
MySelect.DataBind()
End If
End Sub


</script>

</head>

<body>

<form runat="server">

<h3>Seleccion Cepa</h3>

Seleccion: <br><br>

<asp:ListBox id="MySelect"
DataField="cepa"
Rows="4"
Width = "200"
height = "300"
AutoPostBack="True"
SelectionMode="Single"
runat="server"/>



<br><br>


</form>
</body>
</html>

No me da error pero me muestra dentro del box un listado de System.data
miren aqui les dejo el enlace...
http://www.wineup.cl/wineup/ejemplo6.aspx
para que vean el error
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #2 (permalink)  
Antiguo 02/10/2006, 04:11
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 21 años, 2 meses
Puntos: 0
Te falta de poner cosas:

MySelect.DataTextField= "nombre_vino"
MySelect.DataValueField ="id_vino"
MySelect.DataSource= DS.Tables("vinos")
MySelect.DataBind()

Espero que te sirva.
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #3 (permalink)  
Antiguo 02/10/2006, 07:10
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
Funciono!, Gracias Garcy...
http://www.wineup.cl/wineup/ejemplo6.aspx

Y ahora aprovechando el momento, es que necesito a partir de este dato con el AutopostBack hacer otro listbox y ahi esta mi problema como armar el segundo, la pregunta tengo que hacerla en la misma base de datos y en la misma tabla.
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #4 (permalink)  
Antiguo 02/10/2006, 08:10
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 21 años, 2 meses
Puntos: 0
Pues en el evento del drop, ejecutas la consulta y bindeas el control

Private Sub MySelect._SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
cboForo.SelectedIndexChanged
'Aqui ejecutas la consulta
sql="SELECT * FROM tabla WHERE id=" & id_vino
Mylistbox.DataTextField= "nombre_vino"
Mylistbox.DataValueField ="id_vino"
Mylistbox.DataSource= DS.Tables("vinos")
MySelect.DataBind()
End sub

Creo que te servirá.
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #5 (permalink)  
Antiguo 02/10/2006, 08:22
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
Lo pruebo y te aviso... gracias!
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #6 (permalink)  
Antiguo 02/10/2006, 08:56
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
mmm, Nop algo hice mal...
este es el error:
Compiler Error Message: BC30506: Handles clause requires a WithEvents variable.


Line 33: Private Sub MySelect_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboForo.SelectedIndexChanged
Line 34: 'Aqui ejecutas la consulta
Line 35: sql="SELECT * FROM vinos WHERE cepa=" & variedad
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #7 (permalink)  
Antiguo 02/10/2006, 09:24
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 21 años, 2 meses
Puntos: 0
Puedes ponder el código que esta dentro del evento del drop?
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #8 (permalink)  
Antiguo 02/10/2006, 09:42
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
Aqui esta completo...

<%@ Page Language="VB"%>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<html>
<head>

<script runat="server">
Dim MyConnection As OleDbConnection

Sub Page_Load(Sender As Object, E As EventArgs)

MyConnection = New OleDbConnection("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & Server.MapPath("../mmmm/bbbbb.mdb"))

If Not (IsPostBack)

Dim DS As DataSet
Dim MyCommand As OleDbDataAdapter

MyCommand = New OleDbDataAdapter("select distinct variedad from vinos", MyConnection)
DS = new DataSet()
MyCommand.Fill(DS, "vinos")


MySelect.DataTextField= "Variedad"
MySelect.DataValueField ="Variedad"

MySelect.DataSource= DS.Tables("vinos").DefaultView
MySelect.DataBind()
End If
End Sub

Private Sub MySelect_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboForo.SelectedIndexChanged
'Aqui ejecutas la consulta
sql="SELECT * FROM vinos WHERE cepa=" & variedad
Mylistbox.DataTextField= "cepa"
Mylistbox.DataValueField ="cepa"
Mylistbox.DataSource= DS.Tables("vinos")
cboforo.DataBind()
End sub

</script>

</head>

<body>

<form runat="server">

<h3>ListBox AutoPostBack Example</h3>

Select an item from the list box: <br><br>

<asp:ListBox id="MySelect"
DataField="Variedad"
Rows="4"
Width = "200"
height = "300"
AutoPostBack="True"
SelectionMode="Single"
runat="server"/>


<asp:ListBox id="cboforo"
DataField="Variedad"
Rows="4"
Width = "200"
height = "300"
AutoPostBack="True"
SelectionMode="Single"
runat="server"/>


<br><br>



</form>

</body>
</html>
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #9 (permalink)  
Antiguo 02/10/2006, 10:05
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 21 años, 2 meses
Puntos: 0
Cita:
Iniciado por univercity Ver Mensaje
'Aqui ejecutas la consulta
sql="SELECT * FROM vinos WHERE cepa=" & variedad
Mylistbox.DataTextField= "cepa"
Mylistbox.DataValueField ="cepa"
Mylistbox.DataSource= DS.Tables("vinos")
cboforo.DataBind()
End sub
Cuando puse lo de sql me referia a que realizaras la consulta otra vez, es decir tienes que llenar un dataset con la nueva consulta ej:
sql="mi consulta"
da=new dataadapter(sql,con)
da.fill(ds,"lista")
Entiendes?

Ademas veo que la variavel que le pasas a la consulta, no la llenas por ningun lado, deberias llenarla con la selecion de tu drop
variedad=me.drop.selectectitem.value.tostring
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #10 (permalink)  
Antiguo 02/10/2006, 10:48
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
Ups, sorry...

Aqui esta la modificacion pero me sigue tirando el mismo error

Private Sub MySelect_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)Handles MySelect.SelectedIndexChanged

'Aqui ejecutas la consulta


dim varieda as string = MySelect_SelectedIndexChanged.Value

Dim DS As DataSet
Dim MyCommand As OleDbDataAdapter

MyCommand = New OleDbDataAdapter("select * from vinos where cepa='"&varieda&"'", MyConnection)
DS = new DataSet()
MyCommand.Fill(DS, "vinos")


MyList1.DataTextField= "cepa"
MyList1.DataValueField ="cepa"

MyList1.DataSource= DS.Tables("vinos").DefaultView
MyList1.DataBind()




End sub
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #11 (permalink)  
Antiguo 03/10/2006, 09:34
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
up, Help Please!
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #12 (permalink)  
Antiguo 03/10/2006, 10:14
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 21 años, 2 meses
Puntos: 0
Cita:
Iniciado por univercity Ver Mensaje
Private Sub MySelect_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)Handles MySelect.SelectedIndexChanged


dim varieda as string = MySelect_SelectedIndexChanged.Value


End sub
Se me ocurren dos cosas, una es que el handles no le tengas bien puesto, o por el contrario que no recojas bien el dato de tu drop:
varieda=My.MySelect.selectectitem.value.tostring
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #13 (permalink)  
Antiguo 03/10/2006, 10:56
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
Le he echo montones de modificaciones a ver si con algun cambio Funca, hasta el momento nada, si le quito el Handles no me da el error del WithEvents, pero oabviamente me sigue dando problemas lineas mas abajo, lamentablemente no he podido encontrar ejemplos claros con bases de datos, se me ha armado un lio volver a hacer la consulta a la base porque no se como abrirla nuevamente etc.
aqui les pinto el codigo completo a ver si alguien se apiada de este novato.

<%@ Page Language="VB"%>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<html>
<head>

<script runat="server">
Dim MyConnection As OleDbConnection
Dim MyConnection2 As OleDbConnection
Sub Page_Load(Sender As Object, E As EventArgs)

MyConnection = New OleDbConnection("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & Server.MapPath("../ttttt/rrrr.mdb"))

'If Not (IsPostBack)

Dim DS As DataSet
Dim MyCommand As OleDbDataAdapter

MyCommand = New OleDbDataAdapter("select distinct variedad from vinos", MyConnection)
DS = new DataSet()
MyCommand.Fill(DS, "vinos")


MySelect.DataTextField= "Variedad"
MySelect.DataValueField ="Variedad"

MySelect.DataSource= DS.Tables("vinos").DefaultView
MySelect.DataBind()
'End If
End Sub

Private Sub MySelect_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
'Handles MySelect.SelectedIndexChanged

'Aqui ejecutas la consulta
Dim varieda as string
Varieda= MySelect.SelectedValue.ToString()

MyConnection2 =New OleDbConnection("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & Server.MapPath("../vvvv/cccc.mdb"))


Dim DS1 As DataSet
Dim MyCommand1 As OleDbDataAdapter

MyCommand1 = New OleDbDataAdapter("select * from vinos where cepa='"&Varieda&"'", MyConnection2)
DS1 = new DataSet()
MyCommand1.Fill(DS1, "vinos")


MyList1.DataTextField= "cepa"
MyList1.DataValueField ="cepa"

MyList1.DataSource= DS1.Tables("vinos").DefaultView
MyList1.DataBind()




End sub

</script>

</head>

<body>

<form runat="server">

<h3>ListBox AutoPostBack Example</h3>

Select an item from the list box: <br><br>

<asp:ListBox id="MySelect"
DataField="Variedad"
Rows="4"
Width = "200"
height = "300"
AutoPostBack="True"
SelectionMode="Single"
runat="server"/>


<asp:ListBox id="Mylist1"
DataField="cepa"
Rows="4"
Width = "200"
height = "300"
AutoPostBack="True"
SelectionMode="Single"
runat="server"/>


<br><br>



</form>

</body>
</html>
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein

Última edición por univercity; 04/10/2006 a las 07:43 Razón: estoy mostrando la bd
  #14 (permalink)  
Antiguo 03/10/2006, 10:57
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
Le he echo montones de modificaciones a ver si con algun cambio Funca, hasta el momento nada, si le quito el Handles no me da el error del WithEvents, pero oabviamente me sigue dando problemas lineas mas abajo, lamentablemente no he podido encontrar ejemplos claros con bases de datos, se me ha armado un lio volver a hacer la consulta a la base porque no se como abrirla nuevamente etc.
aqui les pinto el codigo completo a ver si alguien se apiada de este novato.

<%@ Page Language="VB"%>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<html>
<head>

<script runat="server">
Dim MyConnection As OleDbConnection
Dim MyConnection2 As OleDbConnection
Sub Page_Load(Sender As Object, E As EventArgs)

MyConnection = New OleDbConnection("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & Server.MapPath("../wwww/aaaads.mdb"))

'If Not (IsPostBack)

Dim DS As DataSet
Dim MyCommand As OleDbDataAdapter

MyCommand = New OleDbDataAdapter("select distinct variedad from vinos", MyConnection)
DS = new DataSet()
MyCommand.Fill(DS, "vinos")


MySelect.DataTextField= "Variedad"
MySelect.DataValueField ="Variedad"

MySelect.DataSource= DS.Tables("vinos").DefaultView
MySelect.DataBind()
'End If
End Sub

Private Sub MySelect_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
'Handles MySelect.SelectedIndexChanged

'Aqui ejecutas la consulta
Dim varieda as string
Varieda= MySelect.SelectedValue.ToString()

MyConnection2 =New OleDbConnection("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & Server.MapPath("../rrrrr/ooooo.mdb"))


Dim DS1 As DataSet
Dim MyCommand1 As OleDbDataAdapter

MyCommand1 = New OleDbDataAdapter("select * from vinos where cepa='"&Varieda&"'", MyConnection2)
DS1 = new DataSet()
MyCommand1.Fill(DS1, "vinos")


MyList1.DataTextField= "cepa"
MyList1.DataValueField ="cepa"

MyList1.DataSource= DS1.Tables("vinos").DefaultView
MyList1.DataBind()




End sub

</script>

</head>

<body>

<form runat="server">

<h3>ListBox AutoPostBack Example</h3>

Select an item from the list box: <br><br>

<asp:ListBox id="MySelect"
DataField="Variedad"
Rows="4"
Width = "200"
height = "300"
AutoPostBack="True"
SelectionMode="Single"
runat="server"/>


<asp:ListBox id="Mylist1"
DataField="cepa"
Rows="4"
Width = "200"
height = "300"
AutoPostBack="True"
SelectionMode="Single"
runat="server"/>


<br><br>



</form>

</body>
</html>
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein

Última edición por univercity; 04/10/2006 a las 07:43
  #15 (permalink)  
Antiguo 03/10/2006, 20:33
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
up! no te pierdas!
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #16 (permalink)  
Antiguo 04/10/2006, 04:28
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 21 años, 2 meses
Puntos: 0
Fijate en las declaraciones de tus controles a ver si tienes todos, deverias tener este y de esta forma:
protected withevents MySelect as System.Web.Ui.WebControls.DropDownList

A ver si te sirve
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #17 (permalink)  
Antiguo 04/10/2006, 07:39
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
Bueno un avance ya no me da error...
http://www.wineup.cl/wineup/ejemplo6.aspx

el detalle es que no me esta mostrando los datos en el segundo listbox...

Este es el codigo:

Private Sub MySelect_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
'Handles MySelect.SelectedIndexChanged

'Aqui ejecutas la consulta
'Dim varieda as string
'Varieda= MySelect.SelectedValue.ToString()

MyConnection2 =New OleDbConnection("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & Server.MapPath("../yyyy/mmmm.mdb"))


Dim DS1 As DataSet
Dim MyCommand1 As OleDbDataAdapter

MyCommand1 = New OleDbDataAdapter("select * from vinos where Variedad=MySelect.SelectedValue.ToString()", MyConnection2)
DS1 = new DataSet()
MyCommand1.Fill(DS1, "vinos")


MyList1.DataTextField= "cepa"
MyList1.DataValueField ="cepa"

MyList1.DataSource= DS1.Tables("vinos").DefaultView
MyList1.DataBind()
End sub
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein

Última edición por univercity; 04/10/2006 a las 07:41 Razón: Por falta error ortografico y estoy mostrando la bd
  #18 (permalink)  
Antiguo 04/10/2006, 09:45
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 21 años, 2 meses
Puntos: 0
Eso puede ser por que la consulta no te genera ninguna fila.
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #19 (permalink)  
Antiguo 04/10/2006, 10:22
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
MyCommand1 = New OleDbDataAdapter("select * from vinos where Variedad=MySelect.SelectedValue.ToString()", MyConnection2)

LO cambie por esto: (pero ahora me dice, Unable to validate data)
Dim MyCommand1 As OleDbDataAdapter

MyCommand1.SelectCommand.Parameters.Add(New OleDbParameter("@cuba", SqlDbType.VarChar))
MyCommand1.SelectCommand.Parameters("@cuba").Value = MySelect.SelectedValue.ToString()


MyCommand1 = New OleDbDataAdapter("select * from vinos where variedad=@cuba", MyConnection2)
DS1 = new DataSet()
MyCommand1.Fill(DS1, "vinos")
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #20 (permalink)  
Antiguo 04/10/2006, 10:32
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 21 años, 2 meses
Puntos: 0
Cita:
Iniciado por univercity Ver Mensaje
MyCommand1 = New OleDbDataAdapter("select * from vinos where Variedad=MySelect.SelectedValue.ToString()", MyConnection2)

LO cambie por esto: (pero ahora me dice, Unable to validate data)
Dim MyCommand1 As OleDbDataAdapter

MyCommand1.SelectCommand.Parameters.Add(New OleDbParameter("@cuba", SqlDbType.VarChar))
MyCommand1.SelectCommand.Parameters("@cuba").Value = MySelect.SelectedValue.ToString()


MyCommand1 = New OleDbDataAdapter("select * from vinos where variedad=@cuba", MyConnection2)
DS1 = new DataSet()
MyCommand1.Fill(DS1, "vinos")
Prueba a ponerlo asi:

Dim MyCommand1 As OleDbDataAdapter
MyCommand1 = New OleDbDataAdapter("select * from vinos where variedad=@cuba", MyConnection2)
MyCommand1.SelectCommand.Parameters.Add(New OleDbParameter("@cuba", SqlDbType.VarChar))
MyCommand1.SelectCommand.Parameters("@cuba").Value = MySelect.SelectedValue.ToString()
DS1 = new DataSet()
MyCommand1.Fill(DS1, "vinos")
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
  #21 (permalink)  
Antiguo 04/10/2006, 14:01
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
error:
[HttpException (0x80004005): Unable to validate data.]
System.Web.Configuration.MachineKey.GetDecodedData (Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +196
System.Web.UI.LosFormatter.Deserialize(String input) +60

[HttpException (0x80004005): Authentication of viewstate failed. 1) If this is a cluster, edit <machineKey> configuration so all servers use the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. 2) Viewstate can only be posted back to the same page. 3) The viewstate for this page might be corrupted.]
System.Web.UI.LosFormatter.Deserialize(String input) +118
System.Web.UI.Page.LoadPageStateFromPersistenceMed ium() +102

[HttpException (0x80004005): Invalid_Viewstate
Client IP: 200.72.33.75
Port: 59519
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
ViewState: dDw1Mjc5MjA4NTI7dDw7bDxpPDI+Oz47bDx0PDtsPGk8MT47Pj tsPHQ8dDxwPHA8bDxEYXRhVGV4dEZpZWxkO0RhdGFWYWx1ZUZp ZWxkOz47bDxWYXJpZWRhZDtWYXJpZWRhZDs+Pjs+O3Q8aTwyMD 47QDxDYWJlcm5ldCBGcmFuYztDYWJlcm5ldCBTYXV2aWdub247 Q2FyYmVybmV0IFJvc2U7Q2FybWVuZXJlO0NoYXJkb25uYXk7R2 VuZXJpY28gQmxhbmNvO0dlbmVyaWNvIFRpbnRvO01hbGJlYztN ZXJsb3Q7TWV6Y2xhO01vc2NhdGVsO1BhaXMgVGludG87UGVkcm 8gSmltZW5lejtQZXRpdCBWZXJkb3Q7UGlub3QgTm9pcjtTYXV2 aWdub24gQmxhbmM7U2VtaWxsb247U3lyYWg7VGludG9yZXJhO1 Rvcm9udGVsOz47QDxDYWJlcm5ldCBGcmFuYztDYWJlcm5ldCBT YXV2aWdub247Q2FyYmVybmV0IFJvc2U7Q2FybWVuZXJlO0NoYX Jkb25uYXk7R2VuZXJpY28gQmxhbmNvO0dlbmVyaWNvIFRpbnRv O01hbGJlYztNZXJsb3Q7TWV6Y2xhO01vc2NhdGVsO1BhaXMgVG ludG87UGVkcm8gSmltZW5lejtQZXRpdCBWZXJkb3Q7UGlub3Qg Tm9pcjtTYXV2aWdub24gQmxhbmM7U2VtaWxsb247U3lyYWg7VG ludG9yZXJhO1Rvcm9udGVsOz4+Oz47Oz47Pj47Pj47PoHanLMJ CY3rZfNZMhvwA8kBK1ma
Http-Referer: http://www.gttttttt.com/productores/cubas/ejemplo6.aspx
Path: /productores/cubas/ejemplo6.aspx.]
System.Web.UI.Page.LoadPageStateFromPersistenceMed ium() +448
System.Web.UI.Page.LoadPageViewState() +18
System.Web.UI.Page.ProcessRequestMain() +447
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #22 (permalink)  
Antiguo 04/10/2006, 14:11
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
Mira encontre este link, con el que repare el error anterior, con un cambio en el web.config:
http://www.experts-exchange.com/Prog..._21321364.html


aun asi me sigue sin cargar nada en el segundo listbox, que mala!

gracias por la ayuda y la paciencia estimado GarcY.
http://www.wineup.cl/wineup/ejemplo6.aspx
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein

Última edición por univercity; 04/10/2006 a las 14:11 Razón: se me olvido colocar un hilo
  #23 (permalink)  
Antiguo 04/10/2006, 22:04
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
Vuelvo a colocar mi codigo completo a ver si algun experto me puede decir cual es mi NOvato error, para ver cual es el resultado hasta ahora http://www.wineup.cl/wineup/ejemplo6.aspx

ese es el codigo:
<%@ Page Language="VB"%>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<html>
<head>

<script runat="server">
Dim MyConnection As OleDbConnection

'Public Class ListBox
'Inherits ListControl
'Implements IPostBackDataHandler
'protected withevents MySelect as System.Web.Ui.WebControls.DropDownList
'protected withevents MyList1 as System.Web.Ui.WebControls.DropDownList

Sub Page_Load(Sender As Object, E As EventArgs)

MyConnection = New OleDbConnection("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & Server.MapPath("../mmmm/xyz.mdb"))

If Not (IsPostBack)
Dim DS As DataSet
Dim MyCommand As OleDbDataAdapter
MyCommand = New OleDbDataAdapter("select distinct variedad from vinos", MyConnection)
DS = new DataSet()
MyCommand.Fill(DS, "vinos")
MySelect.DataTextField="Variedad"
MySelect.DataValueField="Variedad"
MySelect.DataSource= DS.Tables("vinos").DefaultView
MySelect.DataBind()
End If
End Sub

'Private Sub MySelect_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Private Sub MySelect_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs)
If Not (IsPostBack)
Dim SelectCmd As String = "select * from vinos where (variedad=@Variedad)"
Dim DS As DataSet
Dim MyCommand As OleDbDataAdapter
MyCommand = New OleDbDataAdapter(SelectCmd, MyConnection)
MyCommand.SelectCommand.Parameters.Add(New OleDbParameter("@variedad", SqlDbType.VarChar))
MyCommand.SelectCommand.Parameters("@Variedad").Va lue = MySelect.SelectedValue
DS = New DataSet()
MyCommand.Fill(DS, "vinos")
MyList1.DataTextField="cepa"
MyList1.DataValueField="cepa"
MyList1.DataSource= DS.Tables("vinos").DefaultView
MyList1.DataBind()
end if
End sub

</script>
</head>
<body>
<form runat="server">
<h3>ListBox AutoPostBack Example</h3>

Select an item from the list box: <br><br>

<asp:ListBox id="MySelect"
DataField="Variedad"
Rows="4"
Width = "200"
height = "300"
AutoPostBack="True"
SelectionMode="Single"
runat="server"/>


<asp:ListBox id="MyList1"
DataField="cepa"
Rows="4"
Width = "200"
height = "300"
AutoPostBack="True"
SelectionMode="Single"
runat="server"/>

</form>

</body>
</html>
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein

Última edición por univercity; 04/10/2006 a las 22:05 Razón: Se me olvidaba ocultar la base
  #24 (permalink)  
Antiguo 05/10/2006, 04:34
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 21 años, 2 meses
Puntos: 0
Dos cosas:
Cita:
Iniciado por univercity Ver Mensaje
If Not (IsPostBack)
Dim SelectCmd As String = "select * from vinos where (variedad=@Variedad)"
Dim DS As DataSet......
No pongas la condicion esta dentro del sub del drop ya que estas usando el autopostback y por esto no se ejecuta todo lo que esté dentro de esta condicion

Cita:
Iniciado por univercity Ver Mensaje
Dim SelectCmd As String = "select * from vinos where (variedad=@Variedad)"
Donde llenas la variable variedad? tienes que llenarla para ejecutar la consulta_
variedad=myselect.selectedItem.value.tostring

A ver si ahora funciona y no te preocupes por la paciencia que otras personas de me han ayudado y me ayudan a mi.
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.

Última edición por GaRcY; 05/10/2006 a las 04:44
  #25 (permalink)  
Antiguo 09/10/2006, 02:12
Avatar de univercity  
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 22 años, 1 mes
Puntos: 0
No hay caso...

De nuevo el codigo completo a ver si alguien me puede ayudar...
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace = "System.Web.Ui.WebControls.ListControl" %>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<html>
<head>

<script runat="server">
Dim MyConnection As OleDbConnection

protected withevents MySelect as System.Web.Ui.WebControls.ListBox

Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
'
'Inherits ListControl
'Implements IPostBackDataHandler

'protected withevents MyList1 as System.Web.Ui.WebControls.ListControl

MyConnection = New OleDbConnection("PROVIDER=MICROSOFT.JET.OLEDB.4.0; DATA SOURCE=" & Server.MapPath("../yugh/vggrd.mdb"))

If Not (IsPostBack) Then
Dim DS As DataSet
Dim MyCommand As OleDbDataAdapter
MyCommand = New OleDbDataAdapter("select distinct variedad from vinos", MyConnection)
DS = New DataSet()
MyCommand.Fill(DS, "vinos")
MySelect.DataTextField = "Variedad"
MySelect.DataValueField = "Variedad"
MySelect.DataSource = DS.Tables("vinos").DefaultView
MySelect.DataBind()
End If
End Sub

Protected Sub MySelect_SelectedIndexChanged(ByVal sender _
As System.Object, ByVal e As System.EventArgs) _
Handles MySelect.SelectedIndexChanged



Dim variedad As String
variedad = MySelect.SelectedItem.Text
Dim SelectCmd As String = "select * from vinos where variedad=@variedad"
Dim DS As DataSet
Dim MyCommand As OleDbDataAdapter
MyCommand = New OleDbDataAdapter(SelectCmd, MyConnection)
MyCommand.SelectCommand.Parameters.Add(New OleDbParameter("@Variedad", SqlDbType.VarChar))
MyCommand.SelectCommand.Parameters("@Variedad").Va lue = MySelect.SelectedValue
DS = New DataSet()
MyCommand.Fill(DS, "vinos")
MyList1.DataTextField = "Cepa"
MyList1.DataValueField = "Cepa"
MyList1.DataSource = DS.Tables("vinos").DefaultView
MyList1.DataBind()
End Sub

</script>
</head>
<body>
<form runat="server">
<h3>ListBox AutoPostBack Example</h3>

Select an item from the list box: <br><br>

<asp:ListBox id="MySelect"
DataValueField="Variedad"
Rows="4"
Width = "200"
height = "300"
AutoPostBack="True"
SelectionMode="Single"
runat="server"/>


<asp:ListBox id="MyList1"
DataValueField="Cepa"
Rows="4"
Width = "200"
height = "300"
AutoPostBack="True"
SelectionMode="Single"
runat="server"/>


</form>

</body>
</html>
Para ver el error que esta enviando:
http://www.wineup.cl/wineup/ejemplo6.aspx
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein
  #26 (permalink)  
Antiguo 09/10/2006, 05:35
 
Fecha de Ingreso: octubre-2003
Ubicación: Pucela
Mensajes: 182
Antigüedad: 21 años, 2 meses
Puntos: 0
Cita:
protected withevents MyList1 as System.Web.Ui.WebControls.ListControl
Si he entendido bien el error, te pone que ya está declarado el control, prueba a borrar esa linea que te cito.
__________________
El pasado ya ha pasado y el futuro todavía no ha pasado, es decir, vive el presente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:22.