CLR: .Net / Mono / Boo / Otros CLR > ASP .NET
Filtro En Gridview
(1/1)
nenure:
Hola!Estoy haciendo una pagina en visual studio 2005 en vb. Tengo una tabla con 5 columnas en los que me gustaria que en cada columna pueda filtrar informacion, es decir, tengo nombre, apellido, ciudad,direccion y provincia. Si yo pongo en nombre "r" que me salga toda la informacion de los r, si pongo "re" todos los de re.Me podeis ayudar?Lo necesito y no consigo hacerlo.Gracias.
cuajoa:
Hola, si utilizás el control SqlDataSource es muy facil, seguí estos pasos:
En el SqlDataSource se especifica en la propiedad FilterParameters con los parametros por los cuales queres filtrar y de donde va a tomar ese valor.
Supongamos que tenes un campo de texto y un boton y queres filtrar por nombre y en las propiedades GridView, la columna de nombre la propiedad DataField tiene como valo "nombre" (sin comillas), entonces en filterParameters agregas un parametro y le pones el mismo nombre que la columna del GridView, en este caso nombre, y seleccionas el origen del parametro que sea un control y el que va a generar el evento es el objeto boton en su evento click, luego de eso aceptas y en el evento click del boton agregas la siguiente linea:
--- Código: Text ---SqlDataSource1.FilterExpression = "(comb LIKE '%' + " & TextBox1.Text & " + '%' )"
Ejecutas y probas y tendría que andar!
Yo no lo probé, pero fijate si te anda, y si lo entendiste.
Espero que hayas entendido todo, cualquier cosa preguntame!
Saludos!
darkends123:
Tambien estuve buscando la solucion a esto, y no es del todo como la explican anteriormente,
realmente es muy facil, todo se configura dentro del mismo Gridview y su conexion SqlDataSource.. es de esta manera:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="IdAccesorio" DataSourceID="SqlDataSource1" BackColor="White"
BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4"
ForeColor="Black" GridLines="Vertical">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
<asp:BoundField DataField="IdAccesorio" HeaderText="IdAccesorio"
InsertVisible="False" ReadOnly="True" SortExpression="IdAccesorio" />
<asp:BoundField DataField="Nombre" HeaderText="Nombre"
SortExpression="Nombre" />
<asp:BoundField DataField="Descripcion" HeaderText="Descripcion"
SortExpression="Descripcion" />
<asp:BoundField DataField="Cantidad" HeaderText="Cantidad"
SortExpression="Cantidad" />
<asp:BoundField DataField="Tipo_Factura" HeaderText="Tipo_Factura"
SortExpression="Tipo_Factura" />
<asp:BoundField DataField="Precio" HeaderText="Precio"
SortExpression="Precio" />
</Columns>
<FooterStyle BackColor="#CCCC99" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<RowStyle BackColor="#F7F7DE" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#FBFBF2" />
<SortedAscendingHeaderStyle BackColor="#848384" />
<SortedDescendingCellStyle BackColor="#EAEAD3" />
<SortedDescendingHeaderStyle BackColor="#575357" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConflictDetection="CompareAllValues"
FilterExpression="Nombre Like '%{0}%'"
ConnectionString="<%$ ConnectionStrings:FacturaConnectionStringAccesso %>"
DeleteCommand="DELETE FROM [Accesorios] WHERE [IdAccesorio] = @original_IdAccesorio AND (([Nombre] = @original_Nombre) OR ([Nombre] IS NULL AND @original_Nombre IS NULL)) AND (([Descripcion] = @original_Descripcion) OR ([Descripcion] IS NULL AND @original_Descripcion IS NULL)) AND (([Cantidad] = @original_Cantidad) OR ([Cantidad] IS NULL AND @original_Cantidad IS NULL)) AND (([Tipo_Factura] = @original_Tipo_Factura) OR ([Tipo_Factura] IS NULL AND @original_Tipo_Factura IS NULL)) AND (([Precio] = @original_Precio) OR ([Precio] IS NULL AND @original_Precio IS NULL))"
InsertCommand="INSERT INTO [Accesorios] ([Nombre], [Descripcion], [Cantidad], [Tipo_Factura], [Precio]) VALUES (@Nombre, @Descripcion, @Cantidad, @Tipo_Factura, @Precio)"
OldValuesParameterFormatString="original_{0}"
SelectCommand="SELECT * FROM [Accesorios]"
UpdateCommand="UPDATE [Accesorios] SET [Nombre] = @Nombre, [Descripcion] = @Descripcion, [Cantidad] = @Cantidad, [Tipo_Factura] = @Tipo_Factura, [Precio] = @Precio WHERE [IdAccesorio] = @original_IdAccesorio AND (([Nombre] = @original_Nombre) OR ([Nombre] IS NULL AND @original_Nombre IS NULL)) AND (([Descripcion] = @original_Descripcion) OR ([Descripcion] IS NULL AND @original_Descripcion IS NULL)) AND (([Cantidad] = @original_Cantidad) OR ([Cantidad] IS NULL AND @original_Cantidad IS NULL)) AND (([Tipo_Factura] = @original_Tipo_Factura) OR ([Tipo_Factura] IS NULL AND @original_Tipo_Factura IS NULL)) AND (([Precio] = @original_Precio) OR ([Precio] IS NULL AND @original_Precio IS NULL))">
<DeleteParameters>
<asp:Parameter Name="original_IdAccesorio" Type="Int32" />
<asp:Parameter Name="original_Nombre" Type="String" />
<asp:Parameter Name="original_Descripcion" Type="String" />
<asp:Parameter Name="original_Cantidad" Type="String" />
<asp:Parameter Name="original_Tipo_Factura" Type="String" />
<asp:Parameter Name="original_Precio" Type="String" />
</DeleteParameters>
<FilterParameters>
<asp:ControlParameter Name="Nombre" ControlID="txtBuscar" PropertyName="Text"/>
</FilterParameters>
<InsertParameters>
<asp:Parameter Name="Nombre" Type="String" />
<asp:Parameter Name="Descripcion" Type="String" />
<asp:Parameter Name="Cantidad" Type="String" />
<asp:Parameter Name="Tipo_Factura" Type="String" />
<asp:Parameter Name="Precio" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="Nombre" Type="String" />
<asp:Parameter Name="Descripcion" Type="String" />
<asp:Parameter Name="Cantidad" Type="String" />
<asp:Parameter Name="Tipo_Factura" Type="String" />
<asp:Parameter Name="Precio" Type="String" />
<asp:Parameter Name="original_IdAccesorio" Type="Int32" />
<asp:Parameter Name="original_Nombre" Type="String" />
<asp:Parameter Name="original_Descripcion" Type="String" />
<asp:Parameter Name="original_Cantidad" Type="String" />
<asp:Parameter Name="original_Tipo_Factura" Type="String" />
<asp:Parameter Name="original_Precio" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
Espero les sirva!!!
Navegación
Ir a la versión completa