He estado intentando crear 2 combobox dependientes, por ejemplo que en el primero seleccione un departamento y luego pueda cargarse en el otro combobox los municipios correspondientes a dicho departamento.
Lo que he hecho es que en el evento load del formulario cargar el primer combo mediante un dataset y un dataadapter:
Código:
Dim adaptador As New System.Data.SqlClient.SqlDataAdapter("select IdDepto,Nombre from Departamentos Order By Nombre", Conexion)
adaptador.fill(midataset,"Departamentos")
MiCombo.setDataSource=midataset.Tables("Departamentos")
MiCombo.DisplayMember = "Nombre"
MiCombo.ValueMember = "IdDepto"
y luego en el evento valuechanged del primero combo pongo esto:
Código:
Dim departamento As String = Me.cboDepto.SelectedValue.ToString
Dim daMunicipio As New System.Data.SqlClient.SqlDataAdapter("Select Idmunic,NomMunic from municipio Where IdDepto=" + departamento, conn)
daMunicipio.Fill(DataSet1, "Municipio")
With Me.cboMunicipio
.DataSource = DataSet1.Tables("Municipio")
.DisplayMember = "NomMunic"
.ValueMember = "IdMunic"
End With
Hasta cierto punto funciona, pero cuando selecciono otro departamento me quedan siempre los municipios anteriores mas los que pertenecen al departamento que acabo de seleccionar. Hago un
pero me sale un error que dice que cuando esta establecida la propiedad Datasource no se puede realizar esa accion.
Hay alguna manera de resetear o borrar la tabla dentro del dataset?