none
SqlDataSource RRS feed

  • 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
    quarta-feira, 9 de dezembro de 2009 22:50

Respostas

Todas as Respostas