Jump to content

Recommended Posts

Posted

Estou a fazer uma aplicação em VB .net (como estou a aprender vb .net achei que o melhor é fazer algo enquanto vou lendo 😛 )

Estou a fazer uma aplicação onde vou ter (criar, editar e apagar ) dados pessoais de alunos e professores.

Questões:

Devo ter dois formularios ou apenas um a fazer tudo? Isto é devo ter os dois formulários explicados a seguir , juntos ou separados ? Que acham ser melhor? (

formulário  para inserir um novo aluno. (formulário para introduzir dados pessoais e depois ao clickar no botão submete)

+

formulário igual ao inserir novo aluno mas com uma datagridview e um campo com filtro de pesquisa para mostrar apenas os alunos por um dados critério (ex: alunos com nome joão ; ou alunos que moram em Lisboa, etc)

No datagrid eu queria que ao clickar numa linha qq esta enviasse o id (apenas) e assim fazia uma nova busca na bd e prenchia o formulario (penso ser a melhor ideia)

Como fazer isto é mais difícil.  Meter os dados na datagrid já consegui e fiz por codigo. Mas queria mostrar apenas o nome, bi, e morada

Mas ao clickar enviava apenas o id. Mas como guardo o id sem o mostrar (Dá para perceber a minha confusão?!?!)

edit:

Na datagridview aparece id_aluno, nome_aluno, morada_aluno, etc

no evento mouseclick escrevi

       

            txtLocalidade.Text = Me.DataGridView1.CurrentCell.Value

     

isto manda-me o conteúdo da célula para a textbox. Eu queria e´que clickando em qq parte  da linha me fosse enviado o id_aluno para aquela textbox.

Mas o que realmente keria era mostrar apenas na datagridview o nome_aluno, morada_aluno e (nao sei como) era guardadao o id daquele aluno em alguma variável sem mostrar ao utilizador e ao clickar envia o id para a textbox... (por exemplo no html meto um campo a hidden)

1 abraço.  😉

Posted

Q confusão do caraças 😉

Quanto à questão dos formulários, poe em 2 formulários separados.

Experimenta isto para te devolver o ID:

txtLocalidade.Text = Me.DataGridView1.CurrentRow.Cells("ID")

Onde "ID" é o que puseste na propriedade NAME da coluna.

Nas propriedades de cada coluna, tens lá o Visible que podes por a True ou False, para mostrar , ou nao, o campo.

Posted

Q confusão do caraças 😛

é o q faz não perceber muito do assunto  ?

amanha já experimento isso.

edit:

txtLocalidade.Text = Me.DataGridView1.CurrentRow.Cells(0).Value 

Assim funciona...

O codigo para criar a datagrid é este:

                    DataGridView1.Rows.Clear()

                    DataGridView1.Columns.Add("Cod_Aluno", "Codigo_Aluno")

                    DataGridView1.Columns.Add("Aluno_Morada", "Morada")
                    DataGridView1.Columns.Add("Aluno_Localidade", "Localidade")

                  ' Tambem posso utilizar isto mas preferi fazer manualmente para dizer o nome que queria que aparecesse
                   '  For intCol = 0 To .FieldCount - 1
                    '  DataGridView1.Columns.Add(.GetName(intCol), .GetName(intCol))  
                   '  Next

                    'Define a largura da coluna com base na largura do cabeçalho
                    DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader

                    'percorre o datareader enquanto houver dados
                    While .Read

                        'Obtem os dados como em um objeto array
                        Dim objCelulas(intCol) As Object

                        .GetValues(objCelulas)

                        'Inclui uma linha de cada vez no datagridview
                        DataGridView1.Rows.Add(objCelulas)

                    End While

1 abraço  😉

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.