Array
(
)

Como comparar dado de uma label em um SEECT?

Delivery-ti
|
MVP
Pontos: 525
    27 out 2014

Ola galera esto com um problema.
Tenho que pegar um valor que esta em uma label e no meu select usar este valor na comparação e nao sei como fazer isso, pois meu select esta diretamente no meu HTML.
Alguém pode ajudar urgente:
Segue o código para analisarem:

Este é o código que tenho que utilizar na comparação do meu select
#Código

         <asp:Label ID="lblcodProf" runat="server" CssClass="coPro" Text='<%# Eval("codProfissional") %>' />

Aqui é meu select no exemplo e para testes coloque um valor direto como parâmetro de pesquisa, porem em execução não posso ter esse valor fixo pois ai ele vai sempre trazer os dados desse código 7 apenas, e tem que ser o código que estiver nessa label acima.
#Código
    <asp:SqlDataSource ID="SqlComentario" runat="server" 
            ConnectionString="<%$ ConnectionStrings:maosObraConnectionString %>" 
            SelectCommand = "SELECT codCliente, descComentario, dataComentario from COMENTARIO where codProfissional = 7" >
        </asp:SqlDataSource>


Grato Delivery-TI.

Joel Rodrigues
   - 28 out 2014

Já tentou alterar o SelectCommand do SqlDataSource em tempo de execução, passando no SQL o Text da Label?

Delivery-ti
|
MVP
Pontos: 525
    28 out 2014

vou dar uma olhada nisso porem essa consulta dos comentário é feita diretamente no html como como você me ensinou Joel

Joel Rodrigues
   - 28 out 2014


Citação:
vou dar uma olhada nisso porem essa consulta dos comentário é feita diretamente no html como como você me ensinou Joel
Sim, mas creio que terá de mudar esse SelectComand em tempo de execução para atender a essa situação.

Delivery-ti
|
MVP
Pontos: 525
    29 out 2014

Joel mas isso é possível só no codBihind não? No HTML nunca fiz isso ? Como seria?

Eu estava pensando aqui em passar o código desse profissional na url quando ele clicar no link para abrir a modal e ai pegar ele atribuir a uma variável e ai utilizar ela para fazer a comparação, isso daria certo? É que fazendo uns teste parece que não consigo fazer uma comparação utilizando um valor armazenado na variável.

Joel Rodrigues
   - 30 out 2014


Citação:
Joel mas isso é possível só no codBihind não? No HTML nunca fiz isso ? Como seria?

Eu estava pensando aqui em passar o código desse profissional na url quando ele clicar no link para abrir a modal e ai pegar ele atribuir a uma variável e ai utilizar ela para fazer a comparação, isso daria certo? É que fazendo uns teste parece que não consigo fazer uma comparação utilizando um valor armazenado na variável.
Sim, isso é feito no code behind. Não se programa coisas dinâmicas no front-end da página.

Delivery-ti
|
MVP
Pontos: 525
    30 out 2014

Então Joel estou vendo aqui como fazer esse esquema porem nunca fiz.

Delivery-ti
|
MVP
Pontos: 525
    30 out 2014

Joel eu estava dando uma pesquisada aqui porem o que eu não entendi cara é a questão de como isso vai funcionar pois nunca fiz esse Código que altera em tempo de execução e não to entendo direito pois achei vários exemplos mas para criar labels, grid, tables etc...

Joel Rodrigues
   - 30 out 2014

Rapaz, não tenho como testar aqui, mas deve ser algo como meuDataSource.SelectCommand = "select alguma coisa".
Isso provavelmente no Page_Load.

Delivery-ti
|
MVP
Pontos: 525
    30 out 2014

Blz vou dar uma olhada mas agora comecei a pegar a ideia.

Delivery-ti
|
MVP
Pontos: 525
    31 out 2014

Joel ainda estou quebrando a cabeça com isso, porem estou tentando da seguinte maneira cara vê se consegue entender.

Bem em primeiro momento o que falta pra eu testar meu código é conseguir passar o código do profissional pela url por um botão, porem esse botão não me direciona para nenhum lugar ele abre uma modal com os dados do cliente. Ja tentei todos médodos que ele tem la cara OnLoad, OnClick, OnClienteClick, PostBackUrl, NavigateUrl e nada faz com que o código vá para url é que na verdade ele nao renderiza a pagina ele apenas abre a modal sabe como devo fazer isso?

o botao é esse:

#Código

   <asp:Button ID="btnShowPopup" runat="server" CssClass="span" PostBackUrl ='<%#Eval("codProfissional", "avaliarProfissional.aspx?profissional={0}") %>'  ToolTip="Ver detalhes" Text="+"  />


Bem apos pegar esse código vou realizar a comparação no meu datalist comentário para pegar apenas os dados que o código seja igual desse profissional.

#Código
   protected void dtlComent_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (Request.QueryString["codPro"] != null)
            {
                int codPro = int.Parse(Request.QueryString["codPro"]);

                SqlConnection con = new SqlConnection(@"Data Source=DEVALDO-PC\SQLDELIVERY;Initial Catalog=maosObra;Integrated Security=True");
                SqlCommand cmd = new SqlCommand();

                cmd.Connection = con;
                con.Open();
                cmd.CommandText = "SELECT COMENTARIO.codCliente, COMENTARIO.descComentario, COMENTARIO.dataComentario from COMENTARIO where codProfissional = @codPro";
                cmd.Parameters.AddWithValue("@codPro", codPro);
                cmd.ExecuteNonQuery();

                con.Close();
            }            
        }


Bem apesar de ainda não ter testado esse código Joel, para partir para ideia que você deu acredito que vai dar certo so preciso resolver essa questao de passar o codigo pela URL.
Bem vou tentar mais um pouco aqui ainda hoje se nao vou retirar essa parte e trabalhar nisso depois.

Delivery-ti
|
MVP
Pontos: 525
    22 nov 2014

Topico finalizado problema solucionado galera