Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/02/2012, 12:28
asastrem
 
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