none
GRIVIEW RETORNA SEMPRE O PRIMEIRO VALOR RRS feed

  • Pergunta

  • Boa tarde prezados, 

    Estou precisando muito da ajuda de vocês. Vou explicar a situação:

    Meu Objetivo: Fazer alteração registro de acordo com a  linha selecionada no GridView

    Como é feito: Há uma busca na tela o usuário digita o nome da pessoa por exemplo aí faço uma nova query  e substituo no SqlDataSource do um Bind SqlDataSource e no Griview.

    Erro: Quando utilizo a busca retorna um valor, porém quando seleciono o registro vem os dados sempre do primeiro registro. Como devo resolver isso ??????????


    Tenho um SqlDataSource com uma query retornando os registro do banco de dados, por sua vez tenho GriView conectado a esse SqlDataSource até aí tudo bem, mas tenho uma 

    Tenho um SqlDataSource já conectado ao banco e com a seguinte query no SelectQuery

    --DOSSIE
    select 
    --Arquivo
    a.id Codigo_Arquivo,
    s.Nome Secretaria,
    s.Id Codigo_Secretaria,
    seto.nome Setor,
    seto.id_setor Codigo_Setor,
    a.Setor_Outro,
    a.Anotacoes_Indexacao,
    c.Nome Categoria,
    c.Id Codigo_Categoria, 
    --No caso de processo
    P.Id Codigo_Dossie,
    p.Nome Nome_Dossie,
    p.Cpf Cpf,
    p.Matricula Matricula,
    p.Vinculo,
    p.Aposentado,
    p.Volumes,
    p.Periodo_Trabalho,
    --Localização
    ca.nome Caixa, ca.Id Codigo_Caixa,
    pra.Nome Prateleira, pra.Id Codigo_Prateleira,
    est.Nome Estante, est.Id Codigo_Estante,
    cor.Nome Corredor, cor.Id Codigo_Corredor
    ,a.Caminho
    from Arquivos a
    inner join Categorias c on a.Categorias_Id = c.Id
    inner join Secretarias s on a.Secretarias_Id = s.Id
    inner join Setores seto on a.Id_Setor =  seto.id_setor
    inner join Dossie_Prontuario p on a.Id = p.Arquivos_Id
    inner join Caixas ca on a.Caixas_Id = ca.Id
    inner join Prateleiras pra on ca.Prateleiras_Id = pra.Id
    inner join Estantes est on ca.Estantes_Id = est.Id
    inner join Corredores cor on ca.Corredores_Id = cor.Id
    where Categorias_Id = 3

    E a lógica para trocar a query  no botão buscar é essa aqui:

    protected void Btn_Executar_Click(object sender, EventArgs e)
        {


            string sql = "";

            if (Ddl_Operador.SelectedItem.Value == "=")
            {
                sql = @"----DOSSIE
    select 
    --Arquivo
    a.id Codigo_Arquivo,
    s.Nome Secretaria,
    s.Id Codigo_Secretaria,
    seto.nome Setor,
    seto.id_setor Codigo_Setor,
    a.Setor_Outro,
    a.Anotacoes_Indexacao,
    c.Nome Categoria,
    c.Id Codigo_Categoria, 
    --No caso de processo
    P.Id Codigo_Dossie,
    p.Nome Nome_Dossie,
    p.Cpf Cpf,
    p.Matricula Matricula,
    p.Vinculo,
    p.Aposentado,
    p.Volumes,
    p.Periodo_Trabalho,
    --Localização
    ca.nome Caixa, ca.Id Codigo_Caixa,
    pra.Nome Prateleira, pra.Id Codigo_Prateleira,
    est.Nome Estante, est.Id Codigo_Estante,
    cor.Nome Corredor, cor.Id Codigo_Corredor
    ,a.Caminho
    from Arquivos a
    inner join Categorias c on a.Categorias_Id = c.Id
    inner join Secretarias s on a.Secretarias_Id = s.Id
    inner join Setores seto on a.Id_Setor =  seto.id_setor
    inner join Dossie_Prontuario p on a.Id = p.Arquivos_Id
    inner join Caixas ca on a.Caixas_Id = ca.Id
    inner join Prateleiras pra on ca.Prateleiras_Id = pra.Id
    inner join Estantes est on ca.Estantes_Id = est.Id
    inner join Corredores cor on ca.Corredores_Id = cor.Id
    where Categorias_Id = 3 and " + Ddl_Campo.SelectedItem.Value + " " + Ddl_Operador.SelectedItem.Value + " " + "'" + T_Resultado.Text + "'";
            }
            else
            {
                sql = @"--DOSSIE
    select 
    --Arquivo
    a.id Codigo_Arquivo,
    s.Nome Secretaria,
    s.Id Codigo_Secretaria,
    seto.nome Setor,
    seto.id_setor Codigo_Setor,
    a.Setor_Outro,
    a.Anotacoes_Indexacao,
    c.Nome Categoria,
    c.Id Codigo_Categoria, 
    --No caso de processo
    P.Id Codigo_Dossie,
    p.Nome Nome_Dossie,
    p.Cpf Cpf,
    p.Matricula Matricula,
    p.Vinculo,
    p.Aposentado,
    p.Volumes,
    p.Periodo_Trabalho,
    --Localização
    ca.nome Caixa, ca.Id Codigo_Caixa,
    pra.Nome Prateleira, pra.Id Codigo_Prateleira,
    est.Nome Estante, est.Id Codigo_Estante,
    cor.Nome Corredor, cor.Id Codigo_Corredor
    ,a.Caminho
    from Arquivos a
    inner join Categorias c on a.Categorias_Id = c.Id
    inner join Secretarias s on a.Secretarias_Id = s.Id
    inner join Setores seto on a.Id_Setor =  seto.id_setor
    inner join Dossie_Prontuario p on a.Id = p.Arquivos_Id
    inner join Caixas ca on a.Caixas_Id = ca.Id
    inner join Prateleiras pra on ca.Prateleiras_Id = pra.Id
    inner join Estantes est on ca.Estantes_Id = est.Id
    inner join Corredores cor on ca.Corredores_Id = cor.Id
    where Categorias_Id = 3 and " + Ddl_Campo.SelectedItem.Value + " " + Ddl_Operador.SelectedItem.Value + " " + "'%" + T_Resultado.Text + "%'";
            }

            Sql_Consulta_Dossie.SelectCommand = sql;
            Sql_Consulta_Dossie.DataBind();
            Gv_Consulta.DataBind();

    }

    Já no GridView no RowCommand é a seguinte:

     if (e.CommandName == "Select")
            {
                int index = int.Parse((string)e.CommandArgument);
                index = Convert.ToInt32(e.CommandArgument);

                Label Larquivo = (Label)Gv_Consulta.Rows[index].FindControl("Label1");
                Label Ldossie = (Label)Gv_Consulta.Rows[index].FindControl("Label9");
                Label Lassunto = (Label)Gv_Consulta.Rows[index].FindControl("Label12");

      //Arquivo
                Label Lsetoroutro = (Label)Gv_Consulta.Rows[index].FindControl("Label6");
                Label Lanotacaoindexacao = (Label)Gv_Consulta.Rows[index].FindControl("Label19");

    }


    Analista, Programador e Web Designer


    • Editado Fábio MBS terça-feira, 14 de agosto de 2018 20:48
    terça-feira, 14 de agosto de 2018 20:46

Respostas

  • Boa tarde,

    Por falta de retorno essa thread está encerrada.

    Se necessário favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 19 de setembro de 2018 19:24
    Moderador

Todas as Respostas

  • Boa tarde, Fábio MBS. Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 15 de agosto de 2018 19:05
    Moderador
  • Boa tarde,

    Por falta de retorno essa thread está encerrada.

    Se necessário favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 19 de setembro de 2018 19:24
    Moderador