C# DataGrid não atualiza
28/11/2011
0
estou com o seguinte problema:
tenho um formulario de atividades recentes.. os botões adicionar,alterar e excluir estão funcionando corretamente
porém, após efetuar sua ação, o dataGrid não atualiza. É necessário fechar o programa e abrir novamente para atualizar
estou usando Visual Studio 2010 C# + SQL Server. Se alguém poder ajudar fico agradecido!
Também gostaria de saber se é possível ordenar o Form2 para atualizar o dataGrid do Form1, no caso de criar um formulario exclusivamente para adicionar itens...se possível, como faço isso?
segue abaixo meu código do botão alterar que não atualiza o dataGrid:
private void button2_Click(object sender, EventArgs e) { { try{ if (tbtitulo.Text != ) { SqlConnection conn = new SqlConnection(@Data Source=PHOENIX\SQLEXPRESS;Initial Catalog=Ortifa;Integrated Security=True;Pooling=False); SqlCommand comm = new SqlCommand(); comm.Connection = conn; comm.CommandText = UPDATE Lembre SET Titulo = + tbtitulo.Text + , Data = + tbdata.Text + , Hora = + tbhora.Text + WHERE Titulo = + (tbtitulo.Text) + ; // UPDATE cadcd set TIPO=-DIVERSOS, TITULO=TESTE1, DESCRICAO=TESTE1 where REGISTRO=007 comm.Parameters.AddWithValue(@TITULO, tbtitulo.Text); comm.Parameters.AddWithValue(@DATA, tbdata.Text); comm.Parameters.AddWithValue(@HORA, tbhora.Text); comm.Parameters.AddWithValue(@LOCAL, tblocal.Text); conn.Open(); comm.ExecuteNonQuery(); conn.Close(); MessageBox.Show(Midia alterada com sucesso!); } else { MessageBox.Show(Informe o código da mídia); } } catch { MessageBox.Show(Erro na alteração do cadastro, Mensagem do Sistema, MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
Desde já agradeço pela atenção!
Dyego
Posts
28/11/2011
Dyego
estou com o seguinte problema:
tenho um formulario de atividades recentes.. os botões adicionar,alterar e excluir estão funcionando corretamente
porém, após efetuar sua ação, o datagrid não atualiza. é necessário fechar o programa e abrir novamente para atualizar
estou usando visual studio 2010 c# + sql server. se alguém poder ajudar fico agradecido!
também gostaria de saber se é possível ordenar o form2 para atualizar o datagrid do form1, no caso de criar um formulario exclusivamente para adicionar itens...se possível, como faço isso?
segue abaixo meu código do botão alterar que não atualiza o datagrid:
private void button2_click(object sender, eventargs e)
{
{
try{
if (tbtitulo.text != )
{
sqlconnection conn = new sqlconnection(@data source=phoenix\sqlexpress;initial catalog=ortifa;integrated security=true;pooling=false);
sqlcommand comm = new sqlcommand();
comm.connection = conn;
comm.commandtext = update lembre set titulo = + tbtitulo.text + , data = + tbdata.text + , hora = + tbhora.text + where titulo = + (tbtitulo.text) + ;
// update cadcd set tipo=-diversos, titulo=teste1, descricao=teste1 where registro=007
comm.parameters.addwithvalue(@titulo, tbtitulo.text);
comm.parameters.addwithvalue(@data, tbdata.text);
comm.parameters.addwithvalue(@hora, tbhora.text);
comm.parameters.addwithvalue(@local, tblocal.text);
conn.open();
comm.executenonquery();
conn.close();
messagebox.show(midia alterada com sucesso!);
}
else
{
messagebox.show(informe o código da mídia);
}
}
catch
{
messagebox.show(erro na alteração do cadastro, mensagem do sistema,
messageboxbuttons.ok, messageboxicon.warning);
}
}
desde já agradeço pela atenção!
28/11/2011
Rodrigo Odasaki
28/11/2011
Dyego
Então Rodrigo, eu tentei usar o data adapter de diversas formas, mas realmente não atualiza..
é necessário fechar o programa e abrir novamente para atualizar o dataGrid...
Eu vi em um tópico uma linha dizendo Grid.DataBind; mas aqui o visual não reconhece este comando, mesmo com todos using relacionados
Agradeço a atenção, e peço desculpas aos moderados pelo post duplo, sou novo no forum..
28/11/2011
Rodrigo Odasaki
28/11/2011
Dyego
Testei o código aqui,mas infelizmente não rodou...
ele diz que não tem definição pra tabela entre parenteses, no caso:
ficou assim: lembreTableAdapter.Fill(DataSet.lembre);
a palavra lembre dentro de parenteses sublinhada em vermelho com o seguinte erro:
Error: System.Data.Dataset does not contain a definition for lembre
28/11/2011
Rodrigo Odasaki
29/11/2011
Dyego
infelizmente sou novo ainda na área de C#, não saberia te dar tal informação
mas o único código que estou usando foi esse que postei, o que mostra no dataGrid é selecionado nele mesmo,sem codificação
ainda não consegui resolver o problema
01/12/2011
Flavia Santos
GridView1.DataSource = objPesquisa();
GridView1.DataBind();
Onde ObjPesquisa() é o método que você já tem criado para popular o grid.
01/12/2011
Rodrigo Odasaki
Você está em uma aplicação WindowsFormns né?
01/12/2011
Dyego
como disse, é um programa de atividades recentes..
ainda to na batalha pra resolver este problema! heheh
02/12/2011
Rodrigo Odasaki
Você precisa definir como nulo o seu datasource e depois popular ele.
Lembrando que a propriedade AutoGeneratiionColumn deve ficar como true, caso você não tenha mapeado as colunas.
private void button1_Click(object sender, EventArgs e)
{
var clientes = (List<Cliente>) dataGridView1.DataSource;
clientes.Add(new Cliente { Codigo = 4, Nome = Buscapé });
dataGridView1.DataSource = null;
dataGridView1.DataSource = clientes;
}
02/12/2011
Dyego
bela colocação rodrigo, eu já tinha tentado desta maneira mas não sabia do generation.. vou testar aqui e posto pra ver o que rolou. obrigado pela atenção meu camarada!
02/12/2011
Dyego
eu to com o código que tava testando já de por em nulo o data source e depois reconectar
mas ele só poe nulo e não reconecta... estranho isso
Clique aqui para fazer login e interagir na Comunidade :)