none
Problemas pra capturar o id do Gridview RRS feed

  • Pergunta

  • Pessoal,

    Boa noite, estou com um grande problema.

    Na minha aplicação, eu faço o filtro e trago o grid carregado, clico pra editar os dados ele abre o pop-up com os dados de acordo com o id que passei, se faço uma nova pesquisa, ele traz os dados, mas quando vou editar os dados são referente ao id anterior.

    Alguem pode me dar um help?

    Segue abaixo o trecho de código da Grid

              <dxwgv:GridViewDataTextColumn VisibleIndex="2" Caption="Ação" Width="150px">

                    <HeaderStyle HorizontalAlign="Left" />

                        <CellStyle HorizontalAlign="Left"/>

                    <HeaderTemplate>

                            <asp:LinkButton ID="lbtNovo" Text="Novo" Font-Size="12px"  on OnCommand="grdmensagem_AbreEditar" runat="server"  OnClientClick="Exibir();"  Font-Bold="true" />

                    </HeaderTemplate>       

                    <DataItemTemplate>

                       <asp:LinkButton ID="lbtDetalhes" CommandArgument='<%# Eval("msg_codigo")%>' Text="Detalhes" Font-Size="10px" runat="server" OnCommand="grdmensagem_AbreEditar"   AutoPostBack="False" />                                     

                    </DataItemTemplate>

                    </dxwgv:GridViewDataTextColumn>     

     

    codigo cs

            protected void grdmensagem_AbreEditar(object sender, CommandEventArgs e)

            {

                    DataTable dt = DAL.DAL_MENSAGEM.selectMensagem(Convert.ToInt32(e.CommandArgument.ToString()));

                    txt_descricaoCurtaEdit.Text = dt.Rows[0]["msg_desc_curta"].ToString();

                    txt_descricaoLongaEdit.Text = dt.Rows[0]["msg_desc_longa"].ToString();

                    txt_idMensagemEdit.Text = dt.Rows[0]["msg_codigo"].ToString();

                    hdn_defineTipo.Value = "2";

                    txt_idMensagemEdit.ReadOnly = true;

    }

     

    Já tentei dar um DataSource=null, para limpar a grid mas nada adianta, se alguem puder me ajudar

    ficarei muito grata.

    Desde já agradeço a atenção de todos

               


    Jacqueline Sabino
    segunda-feira, 31 de outubro de 2011 22:38

Respostas

Todas as Respostas

  • Fala Jack..

    Tenho duas sugestões:

    1 - Após o DataSource=null você precisa fazer um DataBind() no grid.

    2 - Verifique se o seu grid não esta regarregando após o postback. eu ja tive este problema. Verifique o Page_Load da sua página

    OK?


    Francisco Gonçalves
    Blog: franciscogoncalves.wordpress.com
    segunda-feira, 31 de outubro de 2011 22:41
  • Francisco,

     

    Eu dei um DataBind(), após o DataSource=null,

    porém não adiantou.

    O pageLoad está vazio, O grid só é carregado quando faço um filtro.

    O Curioso é que os dados da nova consulta aparece, mas quando vou recuperar pelo  e.CommandArgument.ToString(), ele retorna o

    id da outra consulta.


    Jacqueline Sabino
    segunda-feira, 31 de outubro de 2011 22:47
  • Você esta usando ajax, ou outra coisa assim?

     


    Francisco Gonçalves
    Blog: franciscogoncalves.wordpress.com
    segunda-feira, 31 de outubro de 2011 23:33
  • Estou usando DevExpress.

     


    Jacqueline Sabino
    • Marcado como Resposta Jack Sabino sexta-feira, 4 de novembro de 2011 18:29
    terça-feira, 1 de novembro de 2011 08:00
  • Pessoal ,

    Consegui resolver o problema,

    coloquei no meu gridview EnableViewState="false", isso impede de manter a cache, daí consegui recuperar os valores normalmente.

     


    Jacqueline Sabino
    sexta-feira, 4 de novembro de 2011 18:29