Usuário com melhor resposta
SqlDataSource

Pergunta
-
Tenho um gridView ligado a um datasource. Os parâmetros da consulta variam conforme o selecionado pelo cliente:
Em um momento, posso ter o WHERE Campo1= Valor and campo2=Valor
Em outro momento, posso ter o WHERE Campo10 = Valor and campo1 = Valor or Campo9=nulo
Como alterar o SqlDataSource em tempo de execução?
Já tentei criando um datasource ao carregar a página, funcionou, consegui paginar, porém ao clicar em alguma coluna para ordenar ao gosto do usuário dá erro, mas se houver um jeito de alterar o sqlDataSource, acredito que seria melhor, pois com ele a páginação e a ordenação e mais simples.
Código criando o datasource em tempo de execução:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim context As HttpContext = HttpContext.Current
Dim strSQL As String = CStr(context.Items("strC"))
Dim nsD As New SqlDataSource
nsD.ID = "num_ID_NS"
nsD.ConnectionString = ConfigurationManager.ConnectionStrings("CaminhoBD").ToString
nsD.SelectCommand = strSQL
nsD.DataBind()
End If
Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
GridView1.PageIndex = e.NewPageIndex
End Sub
Sergio Ivanenko
Respostas
-
Resolvi conforme http://social.msdn.microsoft.com/Forums/pt-BR/aspnetpt/thread/a23d5e55-9b15-41c0-a571-c9367247c95e
Sergio Ivanenko- Marcado como Resposta Ivanenko quarta-feira, 6 de janeiro de 2010 00:10
Todas as Respostas
-
Sérgio,
Acho que o link abaixo pode lhe ajudar:
How to: Enable Filtering for the SqlDataSource Control
http://msdn.microsoft.com/en-us/library/59bfya48.aspx
Att.
Ari C. Raimundo -
Resolvi conforme http://social.msdn.microsoft.com/Forums/pt-BR/aspnetpt/thread/a23d5e55-9b15-41c0-a571-c9367247c95e
Sergio Ivanenko- Marcado como Resposta Ivanenko quarta-feira, 6 de janeiro de 2010 00:10