Ciclare DataGridView

giovedì 31 gennaio 2013 - 17.14
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010

pieroalampi Profilo | Expert

esiste un modo per ciclare una DataGridView IN UNA ROUTINE FOR .... NEXT impostando dei filtri tipo WHERE?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA

ridaria Profilo | Expert

Non credo.

Puoi di certo filtrarla con dei blocchi if o select case all'interno del ciclo for che verificano la presenza nella riga corrente di un dato che impone ad esmpio il salto della riga corrente.


CIAO
Riccardo D'Aria

pieroalampi Profilo | Expert

ok grazie ma entro nel dettaglio che è meglio esempio

questo è il datagrid


col1 col2 col 3 col 4
r1 xx xx xx c
r2 s1 xx xx s1
r3 xx xx xx c

in questo caso io devo far si che dove esiste la lettera c il programma deve trovare un valore che va a ricavare dal db
dove trova la s1 deve copiare nella prima colonna lo stesso valore, cosa ho fatto io:

For i = 0 To DataGridViewAggancio.RowCount - 1
if DataGridViewAggancio.Rows(i).Cells("col 4").Value.ToString="c" then
trova i valori nel db e mettili nella colonna 1
elseif DataGridViewAggancio.Rows(i).Cells("col 4").Value.ToString="s1" then
DataGridViewAggancio.Rows(i).Cells("col 1").Value=DataGridViewAggancio.Rows(i).Cells("col 1").Value.tostring()
Next
ecco adesso non so se ho scritto la sintassi in modo perfetto ma a me interessa il procedimento... in questo modo secondo la mia logica dovrebbe andare ma di fatto non fa altro che mettere i valori della prima if anche li dove andrebbero quelli della elseif
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA

ridaria Profilo | Expert

Mi sembra strano che non ti funzioni. La logica è giusta.

Hai controllato con il debug attivato? Ed esguire il ciclo riga per riga verificando cosa fa?


Ciao
Riccardo D'Aria

pieroalampi Profilo | Expert

si l'ho fatto controllo i valori nella condizione logica.....ma niente, va tutto per i cavoli suoi adesso controllo il db magari saranno degli spazi
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LA PRIMA FRASE DI UN PROGRAMMATORE HELLO WORD ...... ANCHE L'ULTIMA

DomA Profilo | Expert

Ciao Pierfrancesco,
io ti consiglio di utilizzare un datatable per estrarre i record che soddisfano la condizione.
Poi una volta ottenuto il datatable conti le righe ottenute e con un ciclo le vai ad inserire nelle celle del dgw.
Ripeti la stessa cosa non l'altro campo.

All'inizio avevo pensato ad un datareader perché è più veloce ma non credo abbia la proprietà count, quindi dovresti effettuare 2 cicli: uno x contare il n° di righe, l'altro per effettuare l'insermento e così addio ai benefici.

------------------------------------------------------------------------------


Ricorda che, accettare la risposta è un modo di ringraziare chi ci ha aiutato ed evidenziare che il problema è stato risolto.

http://www.infomidia.it

Domenico
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5