O objetivo desta função é:
Ao clicar duas vezes em alguma célula do wxGrid lista_contatos, pegaremos a linha que foi clicada, depois passaremos os valores do ID, NOME e IDADE para seus respectivos valores de edição que são:
A variável ID que vai controlar se estamos em modo de edição ou não, se for em modo de edição qual registro que está sendo editado.
A caixa de texto nome.
A caixa de texto idade.
Vamos ao código:
Em framep.cpp, altere a seguinte parte:
framep.cpp
//Aqui o evento que será executado //quando eu der 2 cliques em uma célula... void wxFramePrincipal::OnDoubleClickCell(wxGridEvent& event) { //Primeiro vamos pegar o índice da linha que está sendo clicada: int row = event.GetRow(); //Agora vamos passar os valores desta linha para nossos dados... //Primeiro a variável ID long int get_id; lista_contatos->GetCellValue(row, 0).ToLong(&get_id); ID = get_id; //Veja que neste momento, a varável ID assume um valor maior que -1 //Então entramos no modo de edição... //Agora pego o valor atual para nome... nome->SetValue(lista_contatos->GetCellValue(row, 1)); //E por último a idade... idade->SetValue(lista_contatos->GetCellValue(row, 2)); //Agora podemos fazer as alterações dos valores, passando como parâmetro //o valor do ID... //Uma alteração que podemos fazer também é //colocar um aviso no título da janela //para dizer ao usuário qual a função que ele está executando: this->SetTitle(wxT("Teste Tutorial Sqlite3 - Modo de Edição")); }
Pronto, agora o usuário poderá selecionar qual registro ele quer editar.
No próximo tutorial, implementar a função que limpa os campos após as edições.
Até a próxima.
0 comentários:
Postar um comentário