DADOS DO GRID DESAPARECEM AO CLICAR NO BOTÃO

MLALEX 11/08/2015 18:32:22
#449835
Tenho informações em um Grid e toda vez que eu clico em um botão para pagar esses dados, ou qualquer outro botão na página, o Grid simplesmente se esvazia e os dados desaparecem. Porque isso acontece? Como evitar isso?
ASHKATCHUP 12/08/2015 08:19:38
#449840
Resposta escolhida
Como tu está preenchendo o grid?
MLALEX 12/08/2015 10:37:03
#449843
Olá!! Estou fazendo assim:

  conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings([Ô]callvox[Ô]).ConnectionString

conn.Open()
cmd.Connection = conn
cmd.CommandText = query


[ô] executa a consulta.
Dim dr As MySqlDataReader = cmd.ExecuteReader()
[ô] exibe o resutlado no Grid
If dr.HasRows Then
GridExcel.DataSource = dr
GridExcel.DataBind()
End If


dr.Close()
conn.Close()


Mas descobri algo que pode ajudar. Tenho um check box no Item Template do Grid. Parece que isso está interferindo de alguma forma.
ASHKATCHUP 12/08/2015 17:50:37
#449875
Tu está salvando o MySqlDataReader no ViewState ou na Session?
MLALEX 13/08/2015 09:29:34
#449903
Estou jogando diretamente no Grid. Não estou salvando em lugar nenhum
ASHKATCHUP 13/08/2015 11:46:25
#449913
Tu está programando em Asp.Net? Se não me engano (estou fora da programação web há 5 anos), é necessário salvar o objeto que alimenta o grid no ViewState ou na Session para que os dados não se percam quando acontece um PostBack.
MLALEX 13/08/2015 14:11:47
#449927
Jesus Cristo!!! Socorro!!! Já pesquisei 1200 pretensas soluções mas nada funciona.

Olha só o que eu estou fazendo. Primeiro inserir no GridView [Ô]GridExcel[Ô] um template field:

  <Columns>
<asp:TemplateField HeaderText=[Ô]O.S[Ô]>
<ItemTemplate>

<asp:CheckBox ID=[Ô]CheckBox2[Ô] runat=[Ô]server[Ô] OnCheckedChanged=[Ô]CheckBox2_CheckedChanged[Ô] />

</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField=[Ô]ID[Ô] HeaderText=[Ô]ID[Ô] InsertVisible=[Ô]False[Ô] SortExpression=[Ô]ID[Ô] />
<asp:BoundField DataField=[Ô]Protocolo[Ô] HeaderText=[Ô]Protocolo[Ô] SortExpression=[Ô]Protocolo[Ô] />
<asp:BoundField DataField=[Ô]Telefone[Ô] HeaderText=[Ô]Telefone[Ô] SortExpression=[Ô]Telefone[Ô] />
<asp:BoundField DataField=[Ô]Operadora[Ô] HeaderText=[Ô]Operadora[Ô] SortExpression=[Ô]Operadora[Ô] Visible=[Ô]False[Ô] />
<asp:BoundField DataField=[Ô]Data[Ô] HeaderText=[Ô]Data[Ô] SortExpression=[Ô]Data[Ô] />
<asp:BoundField DataField=[Ô]Hora_Inicial[Ô] HeaderText=[Ô]Hora Inicial[Ô] SortExpression=[Ô]Hora_Inicial[Ô] Visible=[Ô]False[Ô] />
<asp:BoundField DataField=[Ô]Tempo_Atend[Ô] HeaderText=[Ô]Duração[Ô] SortExpression=[Ô]Tempo_Atend[Ô] Visible=[Ô]False[Ô] />
<asp:BoundField DataField=[Ô]Reclamante[Ô] HeaderText=[Ô]Reclamante[Ô] SortExpression=[Ô]Reclamante[Ô] />
<asp:BoundField DataField=[Ô]Cidade[Ô] HeaderText=[Ô]Cidade[Ô] SortExpression=[Ô]Cidade[Ô] />
<asp:BoundField DataField=[Ô]Distrito[Ô] HeaderText=[Ô]Distrito[Ô] HtmlEncode=[Ô]False[Ô] SortExpression=[Ô]Distrito[Ô] />
<asp:BoundField DataField=[Ô]Bairro[Ô] HeaderText=[Ô]Bairro[Ô] SortExpression=[Ô]Bairro[Ô] />
<asp:BoundField DataField=[Ô]Localizacao_IP[Ô] HeaderText=[Ô]Rua[Ô] SortExpression=[Ô]Localizacao_IP[Ô] />
<asp:BoundField DataField=[Ô]Numero[Ô] HeaderText=[Ô]Nº Res.[Ô] SortExpression=[Ô]Numero[Ô] />
<asp:BoundField DataField=[Ô]Referencia[Ô] HeaderText=[Ô]Refer.[Ô] SortExpression=[Ô]Referencia[Ô] />
<asp:BoundField DataField=[Ô]Administradora[Ô] HeaderText=[Ô]Administradora[Ô] SortExpression=[Ô]Administradora[Ô] Visible=[Ô]False[Ô] />
<asp:BoundField DataField=[Ô]Vencimento[Ô] HeaderText=[Ô]Vencim.[Ô] SortExpression=[Ô]Vencimento[Ô] Visible=[Ô]False[Ô] />
<asp:BoundField DataField=[Ô]Posicao[Ô] HeaderText=[Ô]Posição[Ô] SortExpression=[Ô]Posicao[Ô] Visible=[Ô]False[Ô] />
<asp:BoundField DataField=[Ô]Data_Posicao[Ô] HeaderText=[Ô]Data da Posição[Ô] SortExpression=[Ô]Data_Posicao[Ô] Visible=[Ô]False[Ô] />
<asp:BoundField DataField=[Ô]Finalizacao[Ô] HeaderText=[Ô]Finaliz.[Ô] SortExpression=[Ô]Finalizacao[Ô] Visible=[Ô]False[Ô] />
<asp:BoundField DataField=[Ô]Motivo[Ô] HeaderText=[Ô]Motivo[Ô] HtmlEncode=[Ô]False[Ô] SortExpression=[Ô]Motivo[Ô] Visible=[Ô]False[Ô] />
<asp:BoundField DataField=[Ô]Observacao[Ô] HeaderText=[Ô]Observ.[Ô] SortExpression=[Ô]Observacao[Ô] Visible=[Ô]False[Ô] />
<asp:BoundField DataField=[Ô]Responsavel[Ô] HeaderText=[Ô]Respons.[Ô] SortExpression=[Ô]Responsavel[Ô] Visible=[Ô]False[Ô] />
<asp:CheckBoxField ReadOnly=[Ô]false[Ô] Text=[Ô]Teste[Ô] />
</Columns>


Para carregar os dados, monto uma query e executo assim:
   Private Sub ExecutarPesquisa(ByVal query As String)
Dim conn As New MySqlConnection
Dim cmd As New MySqlCommand

LblQueryConsulta.Text = query


conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings([Ô]callvox[Ô]).ConnectionString

conn.Open()
cmd.Connection = conn
cmd.CommandText = query


[ô] executa a consulta.
Dim dr As MySqlDataReader = cmd.ExecuteReader()
[ô] exibe o resutlado nas caixas de texto
If dr.HasRows Then
GridExcel.DataSource = dr
GridExcel.DataBind()
End If


dr.Close()
conn.Close()

LblCount.Text = GridExcel.Rows.Count

End Sub


Seleciono algumas linhas clicando nos CheckBox(s) e quando vou pegar as linhas selecionadas com o código abaixo, não pega nada pois os dados somem:

    Dim Conteudo As String

Dim i As Integer

For i = 0 To GridExcel.Rows.Count - 1
Dim cb As CheckBox = GridExcel.Rows(i).FindControl([Ô]Selecionar[Ô])
If cb IsNot Nothing Then
If cb.Checked = True Then
Conteudo = Conteudo & GridExcel.Rows(i).Cells(1).Text & [Ô];[Ô]
End If
End If
Next


Gente!! Que coisa doida é essa que o Asp.net arruma???

MLALEX 13/08/2015 14:45:52
#449930
Chamei pelo Homem (Jesus) e ele veio trazendo a solução. Simplesmente ao carregar a página, repito [Ô]ExecutarPesquisa[Ô].

RESOLVIDO.

Valeu Katchup[Ô][Ô]
Tópico encerrado , respostas não são mais permitidas