Yo estoy haciendo un aplicacion para realizar busquedas sobre una tabla de acuerdo a la seleccion un checkboxlist (representa los servicios)
y tres drops enlazados entre si que representa estados ciudades y ubicaciones
los criterios de la aplicaion son estos
1Es obligatorio seleccionar al menos un servicio
2que cuando se seleccione el servicio y no los combos muestre todas las coincidencias de servicio por estado ciudad y ubicacion
3que cuando se seleccione solo el combo estado cargue le combo ciudad y se pulse buscar;busque las coincidencias de servicos para esa estado
4que cuando seleccione estado, ciudad (se cargue el combo 3 cuando se seleccione ciudad)y se pulse buscarbusque todas las coincidencias de servicio, para ese estado y ciudad
5que cuando seleccione estado ciudad y ubicacion y se pulse buscar muestre todas las coincidencias de servicio para esa ciudad estado y ubicacion
yo lo hice asi,pero cuando hago presiono el boton buscar para que me muestre los servivios seleccionado po coincidencia de estado y ciudad seleccionado me dice
Sub Button1_Click(sender As Object, e As EventArgs)
Dim i As Int32
Dim j As Int32
Dim strSql As String
For i = 0 to Check1.Items.Count-1
if Check1.selectedindex=-1 Then
Iblmessage.Text = "Es necesario que seleccione un servicio"
Else If Check1.Items(i).Selected Then
Iblmessage.Text=""
if viewstate("MbpA")= "si" then
'Cargo el combo busqueda
strSql = " SELECT "
For j = 0 To Check1.Items.Count - 1
If Check1.Items(j).Selected Then
' Entra si esta seleccionado
strSql += " " & Check1.Items(j).value & ", "
end if
Next
strSql += " Agencia.Agencia as [Nombre Agencia], Agencia.Direccion as Direccion, Agencia.Telefono as Telefono, Agencia.EsAgencia as Agencia, Estado.Nombre_Estado as Estado, Ciudad.Nombre_Ciudad as Ciudad, Ubicacion.Descripcion as Ubicación From Agencia, Estado, Ciudad, Ubicacion "
strSql += " WHERE Agencia.EstadoID=Estado.EstadoID"
strSql += " AND Agencia.CiudadID=Ciudad.CiudadID"
strSql += " AND Agencia.UbicacionID=Ubicacion.UbicacionID"
If DropDownList1.SelectedIndex then
strSql += " AND Agencia.EstadoID=" &DropDownList1.SelectedItem.Value
BindGrid(strSql)
Else If DropDownList2.SelectedIndex then
strSql += " AND Agencia.EstadoID=" &DropDownList1.SelectedItem.Value
strSql += " AND Agencia.CiudadID=" &DropDownList2.SelectedItem.Value
BindGrid(strSql)
Else If DropDownList1.SelectedIndex then
strSql += " AND Agencia.UbicacionID=" &DropDownList3.SelectedItem.Value
BindGrid(strSql)
end if
Else if viewstate("MbpA")= "no"
strSql += "Select Agencia.Agencia as [Nombre Agencia], Agencia.Direccion as Direccion, Agencia.Telefono as Telefono, Agencia.Cajero_Automatico as Cajero, Agencia.EsAgencia as Agencia, Agencia.Autobanco as Autobanco, Agencia.Taquilla_Externa as Taquilla, Agencia.Estacionamiento as Estacionamiento, Estado.Nombre_Estado as Estado, Ciudad.Nombre_Ciudad as Ciudad, Ubicacion.Descripcion as Ubicacion From Agencia, Estado, Ciudad, Ubicacion "
strSql += " WHERE Agencia.EstadoID=Estado.EstadoID"
strSql += " AND Agencia.CiudadID=Ciudad.CiudadID"
strSql += " AND Agencia.UbicacionID=Ubicacion.UbicacionID"
For j = 0 To Check1.Items.Count - 1
If Check1.Items(j).Selected Then
' Entra si esta seleccionado
strSql += " AND " & Check1.Items(j).value & "='si' "
end if
Next
BindGrid(strSql)
end if
end if
next
End Sub
Sub BindGrid(strSql as string)
Dim ds As DataSet
Dim MyCommand As SqlDataAdapter
MyCommand = New SqlDataAdapter(strSql, PortalSettings.SqlConnectionString)
ds = new DataSet()
MyCommand.Fill(ds, "Agencia")
MyDataGrid.DataSource=ds.Tables("Agencia").Default View
MyDataGrid.DataBind()
End Sub
gracias de antemano