Hola,
Tengo un problema, empezando por la base de datos que tengo es la siguiente:
Nombre de la base be.mdb (Access 2003, aunque lo probe con MSSQL 2008)
Tablas en la base be.mbd:
- Ciudad
Columnas: Nombre_Ciudad(tipo de dato texto), CiudadID (tipo de dato texto)
- Estado
Columnas: Nombre_Estado (tipo de dato texto), EstadoID (tipo de dato texto)
Hice una relación entre EstadoID e CiudadID
La idea es que pueda hacer un combo de dos DwopDownList dependientes, el primero coloque el nombre del Estado y el segundo coloque automáticamente el nombre de la ciudad.
El código de la página .aspx tengo:
Código:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="combo1b.aspx.vb" Inherits="combo1b" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Página sin título</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
segundo
<asp:DropDownList ID="DropDownList2" runat="server">
</asp:DropDownList>
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
>>>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
Y el código de la página .aspx.vb es:
Código:
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
Partial Class combo1b
Inherits System.Web.UI.Page
Protected Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
Dim objConn As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\RN\Documents\Visual Studio 2008\WebSites\WebSite1\App_Data\be.mdb")
Dim objAdapter As New Data.OleDb.OleDbDataAdapter("SELECT EstadoID, Nombre_Estado FROM Estado Order by Nombre_Estado Asc", objConn)
Dim objDataSet As New Data.DataSet()
objConn.Open()
objAdapter.Fill(objDataSet, "Estado")
DropDownList1.DataSource = objDataSet.Tables("Estado")
DropDownList1.DataTextField = "Nombre_Estado"
DropDownList1.DataValueField = "EstadoID"
DropDownList1.DataBind()
DropDownList1.Items.Insert(0, "Seleccione un item")
DropDownList1.SelectedIndex = 0
objConn.Close()
Label1.Text = DropDownList1.SelectedItem.Value()
End If
End Sub
Protected Sub DropDownList2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList2.SelectedIndexChanged
Dim objConn2 As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\RN\Documents\Visual Studio 2008\WebSites\WebSite1\App_Data\be.mdb")
Dim objAdapter2 As New Data.OleDb.OleDbDataAdapter("SELECT CiudadID, Nombre_Ciudad FROM Ciudad where CiudadID" & DropDownList1.SelectedItem.Value, objConn2)
Dim objDataSet2 As New Data.DataSet()
objConn2.Open()
objAdapter2.Fill(objDataSet2, "Ciudad")
DropDownList2.DataSource = objDataSet2.Tables("Ciudad")
DropDownList2.DataTextField = "Nombre_Ciudad"
DropDownList2.DataValueField = "CiudadID"
DropDownList2.DataBind()
DropDownList2.Items.Insert(0, "Seleccione un item")
DropDownList2.SelectedIndex = 0
Label2.Text = DropDownList1.SelectedItem.Value()
End Sub
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
End Sub
End Class
Hay un problema que no me aparece la dependencia en el segundo combo, si bien el debug no da errores hay algunas cosas que están mal y necesito ayuda, gracias!