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 Object, e As 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.fechainicio, fechasdeeventos.fechafin, fechasdeeventos.idciudad, ciudades.idciudad, ciudades.ciudad, ciudades.idestado, estados.idestado, estados.estado, estados.idpais, paises.idpais, paises.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>
Gracias de antemano..
Saludos....
