• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

yekxmerr

[Resolvido] Abrir outros forms, através de item seleccionado em datagridview

6 mensagens neste tópico

Boas, encontro-me com um problema e vou tentar explicar da melhor maneira possível:

Tenho um formulário que que contem um painel ( com uma text box e um botão ), que serve para fazer pesquisas numa datagrid ( ligada a uma base de dados sql ).

Então o meu problema é o seguinte, eu tenho um formlário de edição dos dados que são mostrados na pesquisa, e o que quero fazer é quando selecciono o valor que quero na datagridview, ele me abra o formulário de edição, com esse valor seleccionado. O que não sei é o código para fazer isso, já me disseram que tenho de fazer um insert no formulário de edição, mas penso que apenas preciso de o seleccionar.

Não sei se isto está correcto mas o que preciso de fazer é na datagrid identificar qual é o registo, e abro o formulário de edição com esse valor seleccionado, na minha ideia não preciso de fazer um insert dos registos, porque eles já la estão, precisa é de saber qual seleccionar.

Mas enfim...  sei que isto está um pouco confuso, mas espero que consigam perceber.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bom...por partes...

Provavelmente (e partindo do pressuposto que tens uma estrutura de dados como deve ser), uma das colunas da datagrid retorna-se o ID do registo (linha da BD). se não retorna, é uma questão de incluires essa coluna da instrução SQL.

Depois, simples... Apanhas.. esse Id, e abres o novo form, e carregas todos os dados para o Id respectivo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu se fizer isto, ele manda-me o ID para a string ?

valor = AlunoDataGridView.SelectedCells.Item(0).Value.ToString()

Depois como abro o outro form ( neste caso estou a utilizar tabs, mas e a mesma coisa ) , com o registo igual ao ID ( Sei que isto é o basico da programação, mas ja me esqueçi )

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

depende de que modo estas a carregar os dados o outro form.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas, já resolvi a situação, vou postar a resolução ( q é tão simples... eu sei que sou um noob) :

   
Private Sub ToolStripButton22_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton22.Click
        valor2 = TurmaDataGridView.SelectedCells.Item(0).Value.ToString()

        If TabControl.TabPages.Contains(Tab_CriarTurma) Then
            MessageBox.Show("Este formulário já se encontra aberto.", "Avizo")
        Else
            TabControl.Controls.Add(Tab_CriarTurma)
            TabControl.SelectedTab = Tab_CriarTurma

            Dim PositionX As Integer
            Dim PositionY As Integer
            PositionX = (Me.Size.Width / 2) - (Panel2.Size.Width / 2)
            PositionY = (Me.Size.Height / 2.65) - (Panel2.Size.Height / 2)
            Panel2.Location = New System.Drawing.Point(PositionX, PositionY)
        End If
    End Sub

Convém declarar o Valor 2, como uma variavel publica, e o item (0) é a celula seleccionada.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora