Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafa 1850

como gerenciar um datagridview

Recommended Posts

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

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, 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

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

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

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 Sub
entao 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, 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 Sub
entao 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

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

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

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

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

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, 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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.