Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Edilson Silva

Filtros em Formulário

Recommended Posts

Olá estou iniciando em ASP.NET; e já estou indo muito bem; mas estou com uma seria dúvida..

 

 

Estou com o seguinte DataGrid,

 

clique aqui para ver a imagem DataGrid

 

Meu problema é, como faço para usar o filtro Produto e Grupo

 

Pois se nao colocar nenhum produto quero filtrar todos e se nao colocar nenhum grupo tambem quero listar todos.

 

em asp normal eu fazia assim

 

 

if Request.Form("produto") <> "" then

and produto = '"& Request.Form("produto") &"'

end if

 

if Request.Form("grupo") <> "" then

and grupo = '"& Request.Form("grupo") &"'

end if

 

Agora em asp.net só funciona se colocar os dois ou seja produto e escolher um grupo... help-me!

Compartilhar este post


Link para o post
Compartilhar em outros sites

E como está o seu código atual?Graymalkin

<asp:SqlDataSource ID="SqlDataContaDetalhes" runat="server" ConnectionString="<%$ ConnectionStrings:Conn%>" SelectCommand="SELECT D.cod_despesas, D.nr_ccusto, E.nm_fantasia, SUBSTRING(F.nm_fornecedor, 1, 30) AS nm_fornecedor, D.nr_doc, D.ds_origem_pgto, D.dt_pagamento, D.dt_pagamento, D.dt_vencimento, D.vl_despesas, D.vl_pagamento, D.fl_pago, SUBSTRING(D.ds_despesas,1,30) as ds_despesas, D.nm_usuario FROM tb_despesas D INNER JOIN tb_empresa E ON D.cod_empresa = E.cod_empresa INNER JOIN tb_fornecedor F ON D.cod_fornecedor = F.cod_fornecedor WHERE ([dt_vencimento] between @dt_vencimento1 and @dt_vencimento2 ) and (D.cod_fornecedor = @cod_fornecedor) and fl_pago = 'S' "> <SelectParameters> <asp:ControlParameter ControlID="dt_inicial" Name="dt_vencimento1" PropertyName="Text" Type="DateTime" /> <asp:ControlParameter ControlID="dt_final" Name="dt_vencimento2" PropertyName="Text" Type="DateTime" /> <asp:ControlParameter ControlID="cod_fornecedor" Name="cod_fornecedor" Type="int32" ConvertEmptyStringToNull="true" /> </SelectParameters> </asp:SqlDataSource>Os parametros que tenho são esses:Data InicialData FinalFornecedorMas desse modo que estou fazendo sou obrigado a colocar todos os filtros e o que quero é, se não escolher O fornecedor que me apareçam todos!!!Ajudem me Urgente!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por que você não faz isso via código (digo em C# ou VB.NET)?Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por que você não faz isso via código (digo em C# ou VB.NET)?Abraços,Graymalkin

Até pensei nisso, voce tem algum exemplo??
Qual o banco? Bom, não tenho um exemplo aqui, mas a idéia seria abrir o banco com um objeto Connection (OleDbConnection, SqlConnection, etc.), o que você talvez já até tenha pronto, e utilizar um objeto Command (OleDbCommand, SqlCommand, etc.) para fazer o filtro na tabela e depois anexar isso a DataGrid (pela propriedade DataSource e pelo método DataBind()).No site do Tio Macoratti você encontra diversos tutoriais e artigos sobre ADO.NET que podem lhe auxiliar: http://www.macoratti.net/Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

outra dica seria trazer todos os registros (se naum forem muitos registros) e aplicar o(s) filtro(s) com um dataview

 

exemplo de dataview:

Dim dvProdutos As DataViewdvProdutos = New DataView(Me.mDataTable.Tables("TabelaX"),  "colocar aqui os criterios de filtro", "campoOrdem ASC", DataViewRowState.CurrentRows)

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

outra dica seria trazer todos os registros (se naum forem muitos registros) e aplicar o(s) filtro(s) com um dataviewexemplo de dataview:

Dim dvProdutos As DataViewdvProdutos = New DataView(Me.mDataTable.Tables("TabelaX"),  "colocar aqui os criterios de filtro", "campoOrdem ASC", DataViewRowState.CurrentRows)
t+
************************************************************************************ C O N S E G U I . . . ************************************************************************************PESSOAL OBRIGADO PELA AJUDA CONSEGUI FAZER USANDO VIA PROGRAMACAO... OBRIGADO A TODOS Private Sub Filtrar(ByVal source As Object, ByVal e As EventArgs) Dim data_ini = Request.Form("dt_vencimento1") Dim data_fim = Request.Form("dt_vencimento2") Dim cod_empresa = Request.Form("cod_empresa") Dim cod_fornecedor = Request.Form("cod_fornecedor") Dim ssql As String ssql = "SELECT D.cod_despesas, D.nr_ccusto, E.nm_fantasia, SUBSTRING(F.nm_fornecedor, 1, 30) AS nm_fornecedor, D.nr_doc, D.ds_origem_pgto, D.dt_pagamento, D.dt_pagamento, D.dt_vencimento, D.vl_despesas, D.vl_pagamento, D.fl_pago, SUBSTRING(D.ds_despesas,1,30) as ds_despesas, D.nm_usuario FROM tb_despesas D INNER JOIN tb_empresa E ON D.cod_empresa = E.cod_empresa INNER JOIN tb_fornecedor F ON D.cod_fornecedor = F.cod_fornecedor" ssql = ssql & " where fl_pago = 'S' " ssql = ssql & " and (dt_vencimento between '" & data_bco(data_ini) & "' and '" & data_bco(data_fim) & "' ) " If Request.Form("cod_fornecedor") <> "" Then ssql = ssql & " and D.cod_fornecedor = " & cod_fornecedor & " " End If If Request.Form("cod_empresa") <> "" Then ssql = ssql & " and D.cod_empresa = " & cod_empresa & " " End If SqlDataContaDetalhes.SelectCommand = ssql SqlDataContaDetalhes.Select(DataSourceSelectArguments.Empty) End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.