CONTAR CONDICOES EM GRID

FLASHED 20/10/2011 18:52:37
#387259
Boas

Tenho um grid com 5 colunas e o numero de linhas varia.

Preciso de saber quantas linhas tem dados nas colunas 3,4 e 5.

Ex:

Grid com 5 colunas e 10 linhas.

Preciso de saber dessas 10 linhas quantas tem registos(dados) nas colunas 3,4 e 5.

Abrcs
MARCELO.TREZE 20/10/2011 19:05:16
#387261
bom se for flex grid um simples laço resolve

Dim Col3 As Integer, Col4 As Integer, Col5 As Integer
Col3 = 0
Col4 = 0
Col5 = 0
With MSFlexgrid1
For f=1 To .Rows -1
If .TextMatrix(3, f) <> [Ô][Ô] then
Col3 = Col3 +1
ElseIf .TextMatrix(4, f) <> [Ô][Ô] then
Col4 = Col4 + 1
ElseIf .TextMatrix(5, f) <> [Ô][Ô] then
Col5 = Col5 + 1
End If
Next f

End With


depois basta exibir o valor de Col3, Col4 e Col5 em um label ou textbox e pronto
FLASHED 20/10/2011 19:39:10
#387263
O que é um flex grid?
é um grid normal que é carregado via sql.

Obrigado
MARCELO.TREZE 20/10/2011 20:26:58
#387269
como vc coloca uma pergunta se vc não sabe nem que objeto está usando

bom vamos lá, quando vc fala de grid, entendemos que está usando ou um MSFlexgrid, ou um Listview ou um DBGrid, etc... estes são todos componentes do prorio vb.

se vc não conhece nenhum destes objetos como é que pergunta como contar condições em um grid?

FLASHED 20/10/2011 20:39:19
#387272
Estou usando um datagridview.

Peço desculpa, tem razão
MARCELO.TREZE 20/10/2011 21:24:15
#387274
dtagridview eu nunca usei mas vou pesquisar e tentar ajudar
LUIZCOMINO 21/10/2011 08:49:13
#387284
amigo segue a rotina::
=======================================
Dim rs As Recordset
Dim i As Integer

Dim Col3, Col4, Col5 As Integer

For i = 0 To DataGrid1.ApproxCount

If DataGrid1.Columns(2).Value <> [Ô][Ô] Then
Col3 = Col3 + 1
End If

If DataGrid1.Columns(3).Value <> [Ô][Ô] Then
Col4 = Col4 + 1
End If

If DataGrid1.Columns(4).Value <> [Ô][Ô] Then
Col5 = Col5 + 1
End If

Next

MsgBox [Ô]Coluna 3 [Ô] & Col3 & [Ô] Registros [Ô] & vbCrLf & _
[Ô]Coluna 4 [Ô] & Col4 & [Ô] Registros [Ô] & vbCrLf & _
[Ô]Coluna 5 [Ô] & Col5 & [Ô] Registros [Ô]
=============================================
obs o datagrid começa a contar a coluna com o 0 então a coluna [Ô]3[Ô] na verdade é a 2
abraço!
FLASHED 21/10/2011 09:57:45
#387289
Eu acho que vou fazer uma pergunta estupida..mas cá vai!

Como defino o recordset?

O recordset é o caminho da minha bd né? Poruqe eu defino o caminho da minha bd utilizando o OleDbConnection...

Esse código posso utilizar num private sub...
LUIZCOMINO 21/10/2011 10:04:03
#387290
opa desculpe eu utilizei o recordset ai só para preencher os dados para testar aqui rs! pode desconsiderar essa linha : [Ô]Dim rs As Recordset[Ô]

isso, você coloca ele em uma private sub só verifique se o nome do seu DataGrid está como [Ô]DataGrid1[Ô]

valeu!
FLASHED 21/10/2011 10:55:07
#387299
O código fica assim:

Dim i As Integer

Dim Col3, Col4, Col5 As Integer

For i = 0 To DataGridView4.ApproxCount

If DataGridView4.Columns(2).Value <> [Ô][Ô] Then
Col3 = Col3 + 1
End If

If DataGridView4.Columns(3).Value <> [Ô][Ô] Then
Col4 = Col4 + 1
End If

If DataGridView4.Columns(4).Value <> [Ô][Ô] Then
Col5 = Col5 + 1
End If

Next

MsgBox([Ô]Coluna 3 [Ô] & Col3 & [Ô] Registros [Ô] & vbCrLf & _
[Ô]Coluna 4 [Ô] & Col4 & [Ô] Registros [Ô] & vbCrLf & _
[Ô]Coluna 5 [Ô] & Col5 & [Ô] Registros [Ô])

E da-me estes erros:


Error 1 [ô]ApproxCount[ô] is not a member of [ô]System.Windows.Forms.DataGridView[ô].
Error 2 [ô]Value[ô] is not a member of [ô]System.Windows.Forms.DataGridViewColumn[ô].
Error 3 [ô]Value[ô] is not a member of [ô]System.Windows.Forms.DataGridViewColumn[ô].
Error 4 [ô]Value[ô] is not a member of [ô]System.Windows.Forms.DataGridViewColumn[ô].
LUIZCOMINO 21/10/2011 11:09:41
#387303
amigo você está utilizando o vb.net e criou o topico no [Ô]VB[Ô]..., esse código que fiz é para vb6 não ira funcionar no vb.net
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas