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

Luis Marques

Erro ao clicar em dadagridview

35 mensagens neste tópico

boas, é assim pessoal tou com um problema na datagridview, que é o seguinte:

Ao fazer duplo click num registo que tenha na datagrid, dame erro, isto acontece quando se clica "mal", ou seja entre 2 registos. Alguem sabe uma solução para este problema, é que tenho de entregar a pap para a semana, e assim nao posso entregar, e tenho de trocar tudo para listview, mas como tenho muitas datagridvie:S

Nao sei se me expliquei bem de maneira a que me entendam.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tenta fazer um try ao click da datagridview...

se nao for ao click faz a outro evento parecido

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Explica melhor como se está a originar o erro, e se calhar era boa ideia mostrar o bloco de código onde se está a originar o erro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu tenho datagris com o evento, doublecellclick, onde uso para clicar numa linha da datagrid e enviar o que la está para outra form,etc.

E se clico por exemplo entre a 2 linhas da datagrid , dá erro. eu ja coloco aqui codigo onde dá erro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

exprimente a colocar esse codigo todo dentro dum try e depois metes uma mensagem qualquer no catch

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ao clicar entre 2 registos como aqui, é que dá erro:

93141354.png

e dá erro aqui:

64358708.jpg

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

és capaz de por esse codigo entre um try e pores uma mensgaem no catch e exprimentar???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na variável aux estás a guardar o valor da coluna 0 da linha seleccionada certo?

Experimenta fazer assim:

aux = DataGridView1.Item(0, e.RowIndex).Value

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Weasel a partida já esta tudo ok, mas se der algum erro digo, vou agora testar nos outros sitios que estava a dar erro!;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como é que eu faço para tirar a barra da datagrid com o  nome das colunas?alguem sabe?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Simples, nas propriedades da DatagriView tens a Propriedade: CollumHeadersVisible isto é para o nome das colunas aparecer e também tens para as linhas com o RowHeadersVisible, definindo como True ou False

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o que ando a procura e de saber como se bloqueia as linhas da tabela, para durante a execuçao do programa ao der para puxar as linhas para cima e para baixo, para um lado e para o outro

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ainda nas Propriedades da dataGridView tens estas propriedades basta meter True/False

  • AllowUserToOrderCollumns
  • AllowUserToResizeColumns
  • AllowUserToResizeRows

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora só mais uma questao, como defino a largura das colunas? ja andei a procura nas propriedades e nao encontro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para isso tens de Editar a "colecção" de colunas, em Collumns e aí é que te aparecem as colunas e respectivas propriedades.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eu assim sei, só que neste caso tenho a datagridview feita em codigo, vou te mostrar o codigo.

' CRIAÇÃO DE COLUNAS NO DATAGRIDVIEW

        DataGridView1.RowHeadersVisible = False

        Dim num_campos As Integer

        Dim campo As String

        DataGridView1.Columns.Clear()

        num_campos = dtr.FieldCount

        For idx = 0 To num_campos - 1

            campo = dtr.GetName(idx)

            DataGridView1.Columns.Add(campo, campo)

        Next

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tive agora a criar a datagrid sem ser por codigo, e defeni a largura das colunas, mas esta como autosize em qualquer lado e nao sei onde.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Por código seria assim:

' CRIAÇÃO DE COLUNAS NO DATAGRIDVIEW

        DataGridView1.RowHeadersVisible = False

        Dim num_campos As Integer

        Dim campo As String

        DataGridView1.Columns.Clear()

        num_campos = dtr.FieldCount

        For idx = 0 To num_campos - 1

            campo = dtr.GetName(idx)

            DataGridView1.Columns.Add(campo, campo)

            DataGridView1.Columns.Item(idx).Width = 200  'Aqui defines a largura da coluna...

        Next

Edit:

Tive agora a criar a datagrid sem ser por codigo, e defeni a largura das colunas, mas esta como autosize em qualquer lado e nao sei onde.

Em modo visual penso que seja a propriedade AutoSizeColumnsMode isto nas propriedades da DataGrisView1 mas indo à Collection de Columns também tens isso idividualmente para cada Column na parte do Layout.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas eu queria tirar a barra la com o nome das colunas, tirei nas propriedades com o Column Headers Visible = false, mas assim dá barraca, porque as colunas ficam com autosize:S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E usando assim?

DataGridView1.RowHeadersVisible = False

DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim resulta, consegues me dizer como faço para definir a largura para cada coluna? ali disseste, mas é para todas as colunas, ja tive a tentar colocar para cada coluna o tamanho ser diferente, mas nao consegui, sabes como se faz?

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