Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con 3 Listbox

Estas en el tema de Problema con 3 Listbox en el foro de .NET en Foros del Web. Tengo un problema con los listbox... quizas sea una tonteria pero en realidad no veo el problema.. si lo veo pero no se como solucionarlo... ...
  #1 (permalink)  
Antiguo 27/04/2003, 22:35
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 21 años, 1 mes
Puntos: 0
Problema con 3 Listbox

Tengo un problema con los listbox... quizas sea una tonteria pero en realidad no veo el problema.. si lo veo pero no se como solucionarlo...

El caso es que yo lleno 3 listbox... el primero con la opcion Todos y paises..... y los otros 2 con la opcion unica de Todos.

Entonces cuando elijo un pais me deberia cargar el 2do listbox con los estados y al escojer un estado me llene el listbox de ciudades... bueno cuando le quito lo de las opciones Todos que no viene de la base de datos me funciona bien pero del resto me da el siguiente error...

Referencia a objeto no establecida como instancia de un objeto.

Error de codigo fuente:

Linea 55: Private Sub Click2_onchange(sender As Object, e As EventArgs)
Linea 56:
Li_nea 57: Dim itemValue As String = region.SelectedItem.Value
Li_nea 58: Dim myconn As new SqlConnection(ConnectionString)
Li_nea 59: Dim myCmd As SqlCommand = New SqlCommand("SELECT * FROM ciudades where idestado='" & region.SelectedItem.Value & "'", myConn)

y el codigo es el siguiente...
Código PHP:
<%@ Page Language="VB" debug="true"%>
<%@ 
Import Namespace="System.Data" %>
<%@ 
Import Namespace="System.Configuration" %>
<%@ 
Import Namespace="System.Data.SqlClient" %>

<
SCRIPT LANGUAGE="vb" RUNAT="server">

Dim ConnectionString As String "server=(local);database=bdcet;Trusted_Connection=yes"

Private Sub Page_Load(sender As ObjectAs EventArgs)

If 
Not IsPostBack Then
'Al llenar estos dos listbox con la opcion todos al inicio me da error en la linea antes mencionada... si quito esto que esta en rojo si me funciona perfecto pero no me carga la opcion todos al inicio...
[COLOR=red]region.items.insert(0,"Todos")
city.items.insert(0,"Todos")[/COLOR] 

label2.text="Estado: "
label3.text="Ciudad: "
Dim myconn As new SqlConnection(ConnectionString)
Dim myCmd As SqlCommand = New SqlCommand("SELECT * FROM paises", myConn)
myConn.Open()

Dim myReader As SqlDataReader = myCmd.ExecuteReader()
country.DataSource = myReader
country.DataTextField = "pais"
country.DataValueField = "idpais"
country.DataBind()
country.items.insert(0,"Todos")

myConn.Close()

End If

End Sub

Private Sub Click_onchange(sender As Object, e As EventArgs)

Dim itemValue As String = country.SelectedItem.Value
Dim myconn As new SqlConnection(ConnectionString)
Dim myCmd As SqlCommand = New SqlCommand("SELECT * FROM Estados where idpais='" & country.SelectedItem.Value & "'", myConn)
myConn.Open()
Dim myReader As SqlDataReader = myCmd.ExecuteReader()

region.DataSource = myReader
region.DataTextField = "estado"
region.DataValueField = "idestado"
region.DataBind()
myConn.Close()
myReader.Close()
region.items.Insert(0,"Todos")


End Sub

Private Sub Click2_onchange(sender As Object, e As EventArgs)

Dim itemValue As String = region.SelectedItem.Value
Dim myconn As new SqlConnection(ConnectionString)
Dim myCmd As SqlCommand = New SqlCommand("SELECT * FROM ciudades where idestado='" & region.SelectedItem.Value & "", myConn)
myConn.Open()
Dim myReader As SqlDataReader = myCmd.ExecuteReader()

city.DataSource = myReader
city.DataTextField = "
ciudad"
city.DataValueField = "
idciudad"
city.DataBind()
myConn.Close()
myReader.Close()

city.Items.Insert(0,"
Todos")
end if
End Sub
Private Sub buscar_Click(sender As Object, e As EventArgs)

  Dim ConnectionString As String = "
server=(local);database=bdcet;Trusted_Connection=yes"
   Dim SelectCommand As String = "
SELECT fechasdeeventos.fechainiciofechasdeeventos.fechafinfechasdeeventos.idciudadciudades.idciudadciudades.ciudadciudades.idestadoestados.idestadoestados.estadoestados.idpaispaises.idpaispaises.pais FROM ciudades INNER JOIN estados ON ciudades.idestado estados.idestado INNER JOIN fechasdeeventos ON ciudades.idciudad fechasdeeventos.idciudad INNER JOIN paises ON estados.idpais paises.idpais WHERE (paises.idpais "& country.SelectedItem.Value &") And (estados.idestado "& region.SelectedItem.Value &") And (ciudades.idciudad "& city.SelectedItem.Value &")"
  Dim myConnection As New SqlConnection(ConnectionString)
        Dim myCommand As New SqlDataAdapter(SelectCommand, myConnection)
    
        Dim ds As New DataSet()
        myCommand.Fill(ds)
    
        DataGrid1.DataSource = ds
        DataGrid1.DataBind()
End Sub

</SCRIPT>
<!DOCTYPE HTML PUBLIC "
-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<
head>
<
title>Combos</title>
</
head>
<
body bgcolor="#FFFFFF">

<
form runat="Server">
  <
font size="2" face="Verdana">Pais:
 <
asp:listbox id="country" runat="server" ROWS="1" DATAVALUEFIELD="fechasdeeventos.idciudad" DATATEXTFIELD="pais" ONSELECTEDINDEXCHANGED="Click_onchange" autopostback="true" ></ASP:LISTBOX>
<
asp:Label id="Label2" Font-Name="Verdana" Font-Size="10pt" runat="server" /><asp:listbox id="region" runat="server" ROWS="1" DATAVALUEFIELD="idestado" DATATEXTFIELD="estado" VISIBLE="True" ONSELECTEDINDEXCHANGED="Click2_onchange" autopostback="true"></ASP:LISTBOX>
<
asp:Label id="Label3" Font-Name="Verdana" Font-Size="10pt" runat="server" /><asp:listbox id="city" runat="server" ROWS="1" DATAVALUEFIELD="idciudad" DATATEXTFIELD="ciudad" VISIBLE="True" autopostback="true"></ASP:LISTBOX>
  <
br>
  <
br>
  <
br>
  <
asp:datagrid id="DataGrid1" runat="server" BackColor="White" DataKeyField="idpais" BorderStyle="Ridge" BorderWidth="1px" BorderColor="White" AutoGenerateColumns="false">
            <
FooterStyle font-names="Arial" forecolor="Black" backcolor="#C6C3C6"></FooterStyle>
            <
HeaderStyle font-size="Smaller" font-names="Arial" font-bold="True" forecolor="#E7E7FF" backcolor="#003366"></HeaderStyle>
            <
PagerStyle font-size="Smaller" horizontalalign="Right" forecolor="Black" backcolor="#C6C3C6"></PagerStyle>
            <
SelectedItemStyle font-bold="True" forecolor="White" backcolor="#9471DE"></SelectedItemStyle>
            <
AlternatingItemStyle backcolor="#C0C0C0"></AlternatingItemStyle>
            <
EditItemStyle font-size="Smaller" font-names="Arial"></EditItemStyle>
            <
ItemStyle font-size="Smaller" font-names="Arial" horizontalalign="Left" forecolor="Black" width="350px" verticalalign="Top" backcolor="#DEDFDE"></ItemStyle>
            <
Columns>
                   <
asp:BoundColumn HeaderText="Fecha Inicio" SortExpression="fechainicio" ReadOnly="false" DataField="fechainicio" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" HeaderStyle-Width="25%"/> 
                <
asp:BoundColumn HeaderText="Fecha Fin" SortExpression="fechafin" DataField="fechafin" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" HeaderStyle-Width="25%"/>
                <
asp:BoundColumn HeaderText="Pais" SortExpression="pais" DataField="pais" ItemStyle-HorizontalAlign="center" HeaderStyle-HorizontalAlign="center" HeaderStyle-Width="25%"/> 
            </
Columns>
        </
asp:datagrid>
  <
br>
<
asp:button id="buscar" text="Busqueda" OnClick="buscar_Click" VISIBLE="True" runat="server"/>
  </
font>
</
form>

</
body>
</
html
Es todo.. si alguien puede ayudarme se lo agradeceria..

Gracias de antemano..

Saludos....
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #2 (permalink)  
Antiguo 28/04/2003, 08:38
Avatar de Henry Zapata  
Fecha de Ingreso: abril-2001
Mensajes: 125
Antigüedad: 23 años, 1 mes
Puntos: 0
Hola:

region.items.insert(0,"Todos") ->

esto inserta en el combo un texto "TODOS" en el indice "0", pero no inicializa ningun VALUE.

No se si es exactamente el problema, pero prueba creando un objeto ListItem.

Dim item1 As New ListItem()
Dim item2 As New ListItem()
item1.Text = "texto1"
item1.Value = "codigo1"
item2.Text = "texto2"
item2.Value = "codigo2"
combo.Items.Add(item1)
combo.Items.Add(item2)

en tu caso sería combo.Items.Insert(0,item1)


saludos!!

Última edición por Henry Zapata; 28/04/2003 a las 08:44
  #3 (permalink)  
Antiguo 28/04/2003, 09:40
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 21 años, 1 mes
Puntos: 0
Hola Henry como estas..... gracias por tu respuesta...

Mira si yo tengo claro eso que me pusistes en la respuesta pero es que de igual forma aunque yo no defina el listitem y le agrege el value el me toma por defecto el mismo "Todos" es decir en el value del listbox coloca Todos al igual que el texto que se muestra como opcion...

No se a que se deba el problema pero de igual forma intente con lo que me comentastes....

Si tienes alguna otra sugerencia al respecto sobre algo que se pueda intentar es bienvenida!!

Saludos...
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #4 (permalink)  
Antiguo 28/04/2003, 09:52
Avatar de Henry Zapata  
Fecha de Ingreso: abril-2001
Mensajes: 125
Antigüedad: 23 años, 1 mes
Puntos: 0
Hola:

Si puedes enviame tus páginas con un backup de tu bd en un archivo zipeado para ayudarte mas.

[email protected]

saludos!!
  #5 (permalink)  
Antiguo 28/04/2003, 09:58
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 21 años, 1 mes
Puntos: 0
Hola Henry bueno mira el archivo es el mismo codigo que te puse en este post.. solo tienes que copiarlos y listo.. y en cuanto a la bd es SQL Sever 2000 te sirve??? te tendria que mandar un script para que te genere las bd o no se como quieres que haga...

Avisame como hacemos..

Saludos...
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #6 (permalink)  
Antiguo 28/04/2003, 10:08
Avatar de Henry Zapata  
Fecha de Ingreso: abril-2001
Mensajes: 125
Antigüedad: 23 años, 1 mes
Puntos: 0
enviame un backup de tu bd y zipeado, yo le hago un restore en mi pc y listo el pollo!!

saludos!!
  #7 (permalink)  
Antiguo 28/04/2003, 10:16
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 21 años, 1 mes
Puntos: 0
Hola Henry ya te envie el correo... revisa y me avisas...

Saludos...
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #8 (permalink)  
Antiguo 28/04/2003, 10:29
Avatar de Henry Zapata  
Fecha de Ingreso: abril-2001
Mensajes: 125
Antigüedad: 23 años, 1 mes
Puntos: 0
No me llega:

[email protected]
con copia a
[email protected]

saludos!!
  #9 (permalink)  
Antiguo 28/04/2003, 10:37
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 21 años, 1 mes
Puntos: 0
Hola henry te lo acabo de reenviar... el otro debe haber llegado solo que debe tardar un poco porque no me lo ha rebotado...

De todos modos lo volvi a enviar a las 2 direcciones que comentas..

Saludos...
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #10 (permalink)  
Antiguo 29/04/2003, 00:29
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 21 años, 1 mes
Puntos: 0
Epale Henry...

Todos los correos que te mande me los reboto...

Como hacemos???

Avisame que se puede hacer...

Saludos..
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
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 12:24.