Rafa 1850 0 Denunciar post Postado Outubro 13, 2009 Olá, estou aprendendo ainda e estou parado na parte de gerenciar dados pelo datagridview para ser mais claro vou descrever meu sistema de estudos que preciso fazer... existe um banco de dados com dados de aluno (nome, nascimento etc.) no sistema eu criei um datagridview e um BindingSource. então preechi o DataGridView com o comando "select* from aluno") Me.DataGridView.DataSource = Me.BindingSource1 exibeDados("select * from aluno") o exibe dados esta funcionando perfeitamente e consigo, assim, preencher o datagridview com o comando desejado, porém o X da questão e da minha ignorância é que não sei gerenciar este dataGridView. criei 4 botões abaixo do dataGridView, Incluir Novo, Cancelar, Deletar e Salvar. e não sei como fazer para ao clicar nos respectivos botões eles atualizarem o banco de dados. =/ existe algum comando do bidingSorce que atualize? exemplo... o datagridView foi preenchido no sistema quando o usuario clicou em Gerenciar Alunos. entao ele saiu escrevendo ou editando nomes no datagridview como eu salvo no banco o que ele alterou? e como posso validar as alterações feitas, senão pode dar erro no banco... alguém pode me da um help? Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Sousa 0 Denunciar post Postado Outubro 13, 2009 Rafa, não sei se vai te ajudar, isso esta em WEB mas é bem parecido com como fazer em WindowsForm. http://www.macoratti.net/aspn_idd.htm E da para fazer isso sim que você quer, já muitos exemplos com DataAdapter. Fiz isso tb onde trabalhei em VS 2008 VB.NET. Só nao te dou a letra de como fazer inteiro pq não lembro de cabeça, mas tem sim como fazer. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Outubro 13, 2009 Rafa, não sei se vai te ajudar, isso esta em WEB mas é bem parecido com como fazer em WindowsForm. http://www.macoratti.net/aspn_idd.htm E da para fazer isso sim que você quer, já muitos exemplos com DataAdapter. Fiz isso tb onde trabalhei em VS 2008 VB.NET. Só nao te dou a letra de como fazer inteiro pq não lembro de cabeça, mas tem sim como fazer. Abraços. Obrigado jah fiz todo banco e a ligação entre o sistema e o banco consigo até fazer consultas ao sql e mostrar no grid oq eu nao consigo é atualizar as alterações feitas felo usuario no grid no banco de dados. você quer dizer que há uma operação bidingSource que faz isso:? =00 grande abraço! estou lendo o artigo que me mandou, mas nao tem informações de manipulação do grid, como salvar, deletar etc.. grande abraço, \rafael Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Sousa 0 Denunciar post Postado Outubro 13, 2009 Então Rafa, tem como sim, com o DataAdapter.. Bom dermorei pra responder mas achei.. http://www.macoratti.net/09/05/c_adn_5.htm ve ai.. Rafa, não sei se vai te ajudar, isso esta em WEB mas é bem parecido com como fazer em WindowsForm. http://www.macoratti.net/aspn_idd.htm E da para fazer isso sim que você quer, já muitos exemplos com DataAdapter. Fiz isso tb onde trabalhei em VS 2008 VB.NET. Só nao te dou a letra de como fazer inteiro pq não lembro de cabeça, mas tem sim como fazer. Abraços. Obrigado jah fiz todo banco e a ligação entre o sistema e o banco consigo até fazer consultas ao sql e mostrar no grid oq eu nao consigo é atualizar as alterações feitas felo usuario no grid no banco de dados. você quer dizer que há uma operação bidingSource que faz isso:? =00 grande abraço! estou lendo o artigo que me mandou, mas nao tem informações de manipulação do grid, como salvar, deletar etc.. grande abraço, \rafael Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Outubro 14, 2009 MARAVILHOSO!!!! Tópico respondido! e uma estrela pro Evandro! http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif rsrsrs mto obrigado.. mto satisfeito com artigo indicado! abraços http://forum.imasters.com.br/public/style_emoticons/default/joia.gif rafa Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Outubro 14, 2009 olá. ainda com essa idéia de gerenciar um grid eu gostaria q alguem me desse uma ajuda neste codigo: esse eh meu exibe dados. Private Sub exibeDados(ByVal selectCommand As String) Try Dim StringConexao As String = My.Settings.universidadeConnectionString Dim conexao As New SqlConnection(StringConexao) Dim dataAdapter As New SqlDataAdapter(selectCommand, StringConexao) ' Cria um command builder para gerar os SQL para atualizar, incluir e ' deletar baseados no selectCommand. Dim commandBuilder As New SqlCommandBuilder(dataAdapter) ' Preenche um novo data table e vincula ao BindingSource. Dim table As New DataTable() table.Locale = System.Globalization.CultureInfo.InvariantCulture dataAdapter.Fill(table) BindingSource1.DataSource = table DataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader) Catch ex As SqlException MessageBox.Show("falhou") End Try End Subentao eu preencho um grid Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.DataGridView.DataSource = Me.BindingSource1 exibeDados("select * from aluno") agora o grid estará preenchido com todos campos que um 'aluno' tem no banco de dados existe uma forma mais direta de fazer um update? delete e inserir novo? naqueles exemplos usam formas diferentes. abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Sousa 0 Denunciar post Postado Outubro 14, 2009 Rafa, aqueles exemplos estão corretos, você só não esta familiarizado. Veja esse, ele explica os eventos do dataAdapter mais mastigados. http://www.macoratti.net/vbn_dae1.htm você vai precisar usar o Eventos dele, nesse primeiro ele explica como funciona cada um dos q você vai precisar atualmente. E tem esse tb de DS, q poderá ajuda-lo. http://www.macoratti.net/vbn_dts1.htm veja tb este: http://www.macoratti.net/vbn_dts4.htm Qlqr coisa procura no google por "DataSet Tipado". Acredito que irá te ajudar tb. Abraços. olá. ainda com essa idéia de gerenciar um grid eu gostaria q alguem me desse uma ajuda neste codigo: esse eh meu exibe dados. Private Sub exibeDados(ByVal selectCommand As String) Try Dim StringConexao As String = My.Settings.universidadeConnectionString Dim conexao As New SqlConnection(StringConexao) Dim dataAdapter As New SqlDataAdapter(selectCommand, StringConexao) ' Cria um command builder para gerar os SQL para atualizar, incluir e ' deletar baseados no selectCommand. Dim commandBuilder As New SqlCommandBuilder(dataAdapter) ' Preenche um novo data table e vincula ao BindingSource. Dim table As New DataTable() table.Locale = System.Globalization.CultureInfo.InvariantCulture dataAdapter.Fill(table) BindingSource1.DataSource = table DataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader) Catch ex As SqlException MessageBox.Show("falhou") End Try End Subentao eu preencho um grid Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.DataGridView.DataSource = Me.BindingSource1 exibeDados("select * from aluno") agora o grid estará preenchido com todos campos que um 'aluno' tem no banco de dados existe uma forma mais direta de fazer um update? delete e inserir novo? naqueles exemplos usam formas diferentes. abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Outubro 14, 2009 obrigado evandro! mtas informações novas estou lendo-as encontrei mais cedo um artigo mto legal que explica mta coisa sobre dataset tipado pra galera que , posteriormente, apresentar duvidas similares http://msdn.microsoft.com/pt-br/library/cc517968.aspx show de bola obrigado à todos.; creio q resolverei minha ignorancia xD abraços Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Outubro 14, 2009 prezados amigos... estou me sentindo mto burro mais nao consegui gerenciar o datagrid view nao consigo fazer o update e o deletar sem ser pelo tableadapter. >.< vamos lá, no tutorial que o evandro me indicou "http://www.macoratti.net/vbn_dae1.htm" eu encontrei algum 'sentido' mas nao consigo aplicar, ou sequer, pensar em como aplicar o RowUpdating , RowUpdated e o FillError. esses componentes, segundo o Marcoratti sao eventos que podemos usar para responder a alterações feitas nos dados de uma fonte de dados. mas nao sei usar encima do meu codigo.. do meu datagrid =S acho que nao tem mta ajuda pro meu caso, senao um exemplo ou um professor que me oriente msm. como eu nao tenho recursos fora da net , preciso de um help =/ alguem pode me mostrar um exemplo de inserir novo, salvar e deletar em uma grid? confesso que minha mente esta saturada de tentatiuvas frustrantes x_x mto ruim estudar sozinho, enfim... grande abraço. rafa Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Sousa 0 Denunciar post Postado Outubro 14, 2009 Rafa, não se sinta burro não, ninguem nasceu sabendo. olha esse: http://www.macoratti.net/vbn_dts4.htm você vai ver como ele faz para atualizar a base de dados, como excluir, e como incluir. Veja q ele trabalha com DataSet, e do dataSet ele atualiza os dados. esse topico é continuação do 1, é o 4º topico, ou seja, tem mais 2 para tras q você poderia ler, mas esse ai vai direto ao assunto q você precisa. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Outubro 14, 2009 Não entendi Rafa, deu o tópico como Resolvido, depois voltou a perguntar?? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Outubro 15, 2009 @ quintelab pois eh. eu resolvi um problema de uma forma, mas depois gerei duvidas no msm assunto, pois busco agora alternativas diferentes de solucionar isso. então, pensei que nao deveria abrir outro topico com nome similar e aproveitei que esse nao fori marcado como resolvido! Abraços, espero que nao tenha violado regras, me antecipei =x desculpe rsrs Evandro Sousa cara mto obrigado pela ajuda que me ofereceu! amanha logo cedo vou ler atenciosamente todo esse artigo. MAAAAAAAAAAS eu sou um simples estagiario e como todo estagiario novato... meu chefe pediu que eu nao usasse estruturas do tpw OleDbDataAdapter1.Update(Alterados) com ado x_x fico meio sem alternativas neh =/ nao sei pq.. ele n me explicou bem, disse apenas que eles nao usam mais isso e n me ensinou a maneira como eles usam simplesmente tenho q meter a cara e estudar... procurando material etc. =S enfim. gerenciar uma grid sem tableadapter e sem ado eh impossivel? fiquei confuso =s obrigado pelas dicas :D abraços Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Outubro 15, 2009 outra duvida, creio que mais simples é: como eu redimenciono uma grid em tempo de execução. exemplo: o cliente clica em exibir dados e a grid mostra os dados da consulta em tamanho adequado aos dados propostos, pq no meu sistema fica um espaço no fundo. nao sei retira-lo futuquei e nada que fizesse o fundo cinza sumir. cheguei a mecher em autosizecolumnsmode para display para all cellsExceptHeader mas não tira o fundo. rsrs abraços :D -----ACHEI: autosizecolumnsmode para FILL abraços :D e desculpe... ----- Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Sousa 0 Denunciar post Postado Outubro 15, 2009 Rafa, eu não entendi nada. Você pode postar um pedaço desse código? Ou mostar o site que achou? Fiquei curioso. Abraços. outra duvida, creio que mais simples é: como eu redimenciono uma grid em tempo de execução. exemplo: o cliente clica em exibir dados e a grid mostra os dados da consulta em tamanho adequado aos dados propostos, pq no meu sistema fica um espaço no fundo. nao sei retira-lo futuquei e nada que fizesse o fundo cinza sumir. cheguei a mecher em autosizecolumnsmode para display para all cellsExceptHeader mas não tira o fundo. rsrs abraços :D -----ACHEI: autosizecolumnsmode para FILL abraços :D e desculpe... ----- Compartilhar este post Link para o post Compartilhar em outros sites
Rafa 1850 0 Denunciar post Postado Outubro 15, 2009 bem achei um artigo de um português que consegui entender melhor e implementei o 'salvar' no meu sistema! xD eis o artigo: http://vbtuga.blogspot.com/2008/04/vbnet-utilizando-o-controlo.html muito obrigado à todos! o "autosizecolumnsmode = FILL no datagridview" é pra quando executar o programa o grid ficar do tamanho que eu coloquei na interface... e nao sobrar espaços com a cor do fundo. eu que me expressei mal mesmo.. hehe agora falta apenas acertar o deletar e o inserir novo, no caso o inserir serve apenas para pular para linha de baixo do grid. para gravar usei o seguinte código retirado do artigo: Private Sub btnGravar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGravar.Click ' Cria automaticamente o comando para permite actualizar a DataSet Dim cb As New SqlCommandBuilder(da) ' Actualiza na DataSet, e por sua vez na tabela, as alterações efectuadas da.Update(ds, "myTable") End Sub agora só me resta estudar o "deletar" e o '+' q seria pular pra linha de baixo... existe algo do tipo.. (da.Remove.. e a coluna que desejo deletar)? abraços! rafa :D Compartilhar este post Link para o post Compartilhar em outros sites