EVENTO CHECKBOX NO GRID
olá pessoal pesquisei em diversos sites mas só encontro uma maneira de fezar o meu problema, maneira a qual eu naum gostaria de usar.
preciso somar o valor de pesos dos itens ticados no grid no momento do click no checkbox, mas não consigo o grid não conta o clique no checkbox como evento,aqui está o codigo quase correto mas preciso que ele seja acionado e feita a conta correta com o valor que a checkbox irá tomar depois do clique,
se estava false, quando clico vai ficar true e teria que somar a linha e vice-versa.
acima está a tela para melhor explicação, estou tentando e pesquisando a muito tempo e não consigo achar uma solução.
no exemplo acima eu acabei de clicar no checkbox do item 4 mas ele não somou o valor no peso liquido, ele somente irá somar se eu clicar em outra célula após ticar o checkbox, queria que fizesse a conta ao clicar no checkbox
Private Sub dgvItensPedido_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvItensPedido.CellClick
[ô]SOMA O PESO DOS ITENS SELECIONADOS DO GRID E ATRIBUI AO PESO LIQUIDO DA OP
Dim pesoliquido = 0
MsgBox(Me.dgvItensPedido.Item([Ô]ck[Ô], dgvItensPedido.CurrentRow.Index).Value)
For x = 0 To dgvItensPedido.Rows.Count - 1
Dim somapeso As String = Me.dgvItensPedido.Item([Ô]pesoTotal[Ô], x).Value
If Me.dgvItensPedido.Item([Ô]ck[Ô], x).Value = True Then
pesoliquido = pesoliquido + somapeso
End If
Next
txtPesoTLiquido.Text = pesoliquido
End Sub
End Class
preciso somar o valor de pesos dos itens ticados no grid no momento do click no checkbox, mas não consigo o grid não conta o clique no checkbox como evento,aqui está o codigo quase correto mas preciso que ele seja acionado e feita a conta correta com o valor que a checkbox irá tomar depois do clique,
se estava false, quando clico vai ficar true e teria que somar a linha e vice-versa.
acima está a tela para melhor explicação, estou tentando e pesquisando a muito tempo e não consigo achar uma solução.
no exemplo acima eu acabei de clicar no checkbox do item 4 mas ele não somou o valor no peso liquido, ele somente irá somar se eu clicar em outra célula após ticar o checkbox, queria que fizesse a conta ao clicar no checkbox
Private Sub dgvItensPedido_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvItensPedido.CellClick
[ô]SOMA O PESO DOS ITENS SELECIONADOS DO GRID E ATRIBUI AO PESO LIQUIDO DA OP
Dim pesoliquido = 0
MsgBox(Me.dgvItensPedido.Item([Ô]ck[Ô], dgvItensPedido.CurrentRow.Index).Value)
For x = 0 To dgvItensPedido.Rows.Count - 1
Dim somapeso As String = Me.dgvItensPedido.Item([Ô]pesoTotal[Ô], x).Value
If Me.dgvItensPedido.Item([Ô]ck[Ô], x).Value = True Then
pesoliquido = pesoliquido + somapeso
End If
Next
txtPesoTLiquido.Text = pesoliquido
End Sub
End Class
Usa o evento MouseClick que dá certo.
Exemplo:
Exemplo:
Citação::
Usa o evento MouseClick que dá certo.
Exemplo:
Você colocou o código igual,ou parecido ao meu dentro do mouse clique?
Por que aqui no mouseclick ele tambem somente faz a conta depois de um segundo clique,acho que tem algum coisa errada no meu código.
Ele nesse evento faz a checagem antes da mudança do estado do checkbox, tem algum modo de commitar para que primeiro mude o checkbox depois faça a checagem?????
To Procurando mas não consigo achar em forum nem tutorial ou aula nenhuma..........
Alguém sabe como faço para commitar a mudança do checkbox antes de fazer este código de verificação dentro do mouseClick.........
Seria assim, cliquei primeiro muda o checkbox e depois ele cai no mouse clique......... ou cai no mouse clique, muda o checkbox e depois cai no for da conta de soma de itens selecionados......
Grato..!!!!
Alguém sabe como faço para commitar a mudança do checkbox antes de fazer este código de verificação dentro do mouseClick.........
Seria assim, cliquei primeiro muda o checkbox e depois ele cai no mouse clique......... ou cai no mouse clique, muda o checkbox e depois cai no for da conta de soma de itens selecionados......
Grato..!!!!
não intendi o que voce quer fazer em sua última pergunta, voce poderia reformula-la?
Citação::
não intendi o que voce quer fazer em sua última pergunta, voce poderia reformula-la?
Ehhh assimmm
meu código está da seguinte forma...
Private Sub dgvItensPedido_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgvItensPedido.MouseClick
[ô]SOMA O PESO DOS ITENS SELECIONADOS DO GRID E ATRIBUI AO PESO LIQUIDO DA OP
Dim pesoliquido As Decimal = 0
For x = 0 To dgvItensPedido.Rows.Count - 1
Dim somapeso As String = Me.dgvItensPedido.Item([Ô]pesoTotal[Ô], x).Value
If Me.dgvItensPedido.Item([Ô]ck[Ô], x).Value = True Then
pesoliquido = pesoliquido + somapeso
End If
Next
txtPesoTLiquido.Text = pesoliquido
End Sub
então ele pega todas as linhas que estão com o checkbox assinalado e soma atribuindo o valor daquela soma ao txtpesoLiquido conforme a figura do meu primeiro post.....
Mas vamos se dizer que eu clique em um dos dois da figura 1 ai do meu primeiro post....se eu desmarcar o checkbox da primeira linha ele deveria somar somente o valor da segunda linha e atribuir o peso de 1510 ao txtpesoliquido......
Mas o que ele está fazendo, ele está primeiro cainda o soma e depois desmarcando o checkbox, então ao clicar ele soma as duas linhas atribui ao pesoLIquido e depois desmarca o checkbox.
Eu quero um método que primeiro ele desmarque o checkbox depois ele efetue o for lah do mouseclick
vai na pasta do seu projeto e me manda só o arquivo .vb que tem os códigos, que eu acho que é só a organização das linhas, caso voce consiga antes nem precisa de me mandar, dê uma olhada na ordem das linhas
Citação::
vai na pasta do seu projeto e me manda só o arquivo .vb que tem os códigos, que eu acho que é só a organização das linhas, caso voce consiga antes nem precisa de me mandar, dê uma olhada na ordem das linhas
A sequencia é essa.....
Private Sub dgvItensPedido_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgvItensPedido.MouseClick
[ô]SOMA O PESO DOS ITENS SELECIONADOS DO GRID E ATRIBUI AO PESO LIQUIDO DA OP
Dim pesoliquido As Decimal = 0
For x = 0 To dgvItensPedido.Rows.Count - 1
Dim somapeso As String = Me.dgvItensPedido.Item([Ô]pesoTotal[Ô], x).Value
If Me.dgvItensPedido.Item([Ô]ck[Ô], x).Value = True Then
pesoliquido = pesoliquido + somapeso
End If
Next
txtPesoTLiquido.Text = pesoliquido
End Sub
Tópico encerrado , respostas não são mais permitidas