Foros del Web » Programando para Internet » ASPX (.net) »

Filtrar Gridview mediante DropDownList

Estas en el tema de Filtrar Gridview mediante DropDownList en el foro de ASPX (.net) en Foros del Web. Buenas foreros pues aqui con un problema resulta que quiero filtrar un gridview mediante un dropdownlist, pero me manda error el dropdownlist se conecta a ...
  #1 (permalink)  
Antiguo 17/02/2012, 12:28
 
Fecha de Ingreso: agosto-2008
Mensajes: 142
Antigüedad: 15 años, 8 meses
Puntos: 2
Filtrar Gridview mediante DropDownList

Buenas foreros
pues aqui con un problema resulta que quiero filtrar un gridview mediante un dropdownlist, pero me manda error
el dropdownlist se conecta a una tabla de sql
y el gridview a una consulta de sql


aqui el codigo de la pagina asp

<%@ Page Language="VB" MasterPageFile="~/User/MPUser.master" AutoEventWireup="false" CodeFile="AdminSubAgencias.aspx.vb" Inherits="Admin_AdminSubAgencias" title="Página sin título" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<style type="text/css">
.style1
{
width: 529px;
}
.style2
{
width: 52px;
}
.style3
{
width: 72px;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table>
<tr>
<td align="left" valign="top" class="style1">
<h3
style="width: 541px; font-family: Tahoma; ">Sub Agencias</h3>
</td>
</tr>
</table>

<table style="width:100%;">

<tr>
<td class="style2">
<asp:ImageButton ID="IBNewRecord" runat="server" AlternateText="Agregar SubAgencias"
ImageUrl="~/App_Themes/agregar.png" ToolTip="Agregar nuevo registro" />
<br />
<br />
</td>
<td class="style3">
<asp:Label ID="lblAgencia" runat="server" Text="Agencia"></asp:Label>
</td>
<td>
<asp:DropDownList ID="ddlAgencia" runat="server" AutoPostBack="True"
DataSourceID="SQLDSAgencia" DataTextField="DescAgencia"
DataValueField="IdAgencia" Height="20px" Width="300px">
</asp:DropDownList>
</td>
</tr>
</table>
<table style="width:100%; height: 65px;">
<tr>
<td>
<asp:GridView ID="GVSubAgencia" runat="server" AutoGenerateColumns="False"
CellPadding="4" DataSourceID="SQLDSSubAgencia"
GridLines="Horizontal" EmptyDataText="No Records" BackColor="White"
BorderColor="#336666" BorderStyle="Double" BorderWidth="3px"
AllowPaging="True" PageSize="8" Width="350px">
<RowStyle BackColor="White" ForeColor="#333333" />
<Columns>
<asp:CommandField ButtonType="Image" EditImageUrl="../App_Themes/edit.gif"
HeaderText="Edit" ShowEditButton="True" />
<asp:BoundField DataField="IdSubAgencia" HeaderText="Id"
SortExpression="IdAe" />
<asp:BoundField DataField="DescAgencia" HeaderText="Agencia"
SortExpression="DescAgencia" />
<asp:BoundField DataField="DescSubAgencia" HeaderText="Sub Agencia"
SortExpression="Nombre" />
</Columns>
<FooterStyle BackColor="White" ForeColor="#333333" />
<PagerStyle BackColor="#336666" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#339966" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#336666" Font-Bold="True" ForeColor="White" />
</asp:GridView>
</td>
</tr>
<asp:SqlDataSource ID="SQLDSAgencia" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT [IdAgencia], [DescAgencia] FROM [TabAgencia]">
</asp:SqlDataSource>
<asp:SqlDataSource ID="SQLDSSubAgencia" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
selectcommand="SELECT TabSubAgencia.IdSubAgencia, TabAgencia.DescAgencia, TabSubAgencia.DescSubAgencia, TabSubAgencia.IdAgencia FROM TabAgencia INNER JOIN TabSubAgencia ON TabAgencia.IdAgencia = TabSubAgencia.IdAgencia"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>">
</asp:SqlDataSource>
</table>

</asp:Content>



Aqui la pagina de programacion
Imports System.Data
Imports System.Data.SqlClient

Partial Class Admin_AdminSubAgencias
Inherits System.Web.UI.Page
Dim xIdAgencia As Integer
Protected Sub IBNewRecord_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles IBNewRecord.Click
Response.Redirect("NewSubAgencia.aspx")
End Sub

Protected Sub GVSubAgencia_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GVSubAgencia.RowEditing
Dim p_id As Integer
p_id = GVSubAgencia.Rows(e.NewEditIndex).Cells(1).Text
Response.Redirect("EditingSubAgencia.aspx?id=" & p_id)
End Sub

Protected Sub ddlAgencia_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlAgencia.SelectedIndexChanged
xIdAgencia = CType(ddlAgencia.SelectedValue, Integer)
Using cnn As New SqlConnection(Me.SQLDSSubAgencia.ConnectionString)
Dim sel As String
sel = Me.SQLDSSubAgencia.SelectCommand & "WHERE IdAgencia=@p_idAgencia"
Dim cmd As New SqlCommand(sel, cnn)
cnn.Open()
cmd.Parameters.AddWithValue("@p_IdAgencia", xIdAgencia)
Dim tabla As New DataTable
Dim da As New SqlDataAdapter(cmd)
da.Fill(tabla)
If tabla.Rows.Count = 0 Then
'Me.lblAviso.Text = "No existen registros, contactar al supervisor"
Exit Sub
End If
With tabla
GVSubAgencia.DataSource = tabla
GVSubAgencia.DataBind()

End With
End Using
End Sub
End Class


Si alguientiene la solución se lo voy a agradecer...gracia
  #2 (permalink)  
Antiguo 17/02/2012, 14:49
Avatar de AWesker  
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Filtrar Gridview mediante DropDownList

¿Cómo te va?
Deberías tratar de agregar en el Where del DataSource y agregar el DropDownList.

Etiquetas: asp, aspx, control, dropdownlist, filtrar, gridview, mediante, sql
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 18:24.