Datagrid value vb.net

giovedì 16 settembre 2010 - 18.26
Tag Elenco Tags  VB.NET

blackspidy14 Profilo | Junior Member

ciao a tutti ho questo amletico dilemma . . .

ho un datagridview e devo ottenere i valori(cioè quello che è contenuto nella cella) delle celle selezionate(quindi più di una cella).
i valori che mi interessano sono tutti sulla stessa colonna e sono contigui(uno vicino all'altro).

ESEMPIO:

TABELLA:
=========================================
=ID==CAMPO1==CAMPO2==CAMPO2==CAMPOn==
=1 == ABC == PIPPO1 == ABC == ABC ==
=2 == CBA == PIPPO2 == CBA == CBA ==
=3 == ACB == PIPPO3 == ACB == ACB ==
=========================================

vorrei solo selezionare con il mause le celle della colonna CAMPO2 e metterle in una variabile(in una stringa) i valori PIPPO1-PIPPO2-PIPPO3, per poi manipolarla a mio piacimento :D

LINGUAGGIO VB.NET!!!





giulioz Profilo | Newbie

per accedere al valore delle celle devi fare (almeno in c# è così): [nomedatagridview].Rows[[indice]].Cells[[indice]].Value

blackspidy14 Profilo | Junior Member

ok e fin lì tutto ok . . . ma se volessi il valore di + celle del mio datagridview

andrestu Profilo | Expert

dovresti intanto trovare il modo di fare una selezione multipla di più righe (non so se con i normali controlli aspnet si possa fare) e poi magari ti salvi per esempio un arraylist dentro l'oggetto session della pagina, così lo recuperi quando vuoi sia per leggerne il contenuto che per aggiungerne valori

blackspidy14 Profilo | Junior Member

il modo è presto trovato . . . seleziono le celle che mi interessano con il MOUSE, come ho già scritto in precedenza!

andrestu Profilo | Expert

maa non ho ben capito come effettui la selezione multipla, comunque se utilizzi per esempio un gridview inserendo un pulsante select nella riga puoi recuperare da codice il valore di una cella in corrispondenza di una colonna prestabilita, è logico che per come lo utilizzo io faccio una selezione alla volta, quindi ad ogni selezione un postback ed ad ogni postback recupero il valore che mi interessa e lo aggiungo (per esempio) ad un arraylist o a qualsiasi altro oggeto che funge da contenitore... per recuperare con un solo postback più valori selezionati sinceramente non saprei

blackspidy14 Profilo | Junior Member


CHI FA DA SE FA PER TRE!!!!!

allora senza troppe cazzate posto la soluzione al mio problema :

Dim variabile As String = ""

For i As Integer = 0 To DataGridView.Rows.Count - 1
If DataGridView.Rows(i).Cells('int').Selected Then
variabile += DataGridView.Rows(i).Cells('int').Value.ToString & "; "
End If
Next

il codice è associato all'evento click di un button

e adesso "variabile" contiene il valore delle celle selezionate!!!

3 RIGHE DI CODICE!!! SE QUALCUNO NON Sà CHE COSA SCRIVERE FA PRIMA A NON SCRIVERE NIENTE INVECE DI RISPONDERE ALLA DOMANDA CON ALTRE DOMANDE LEGGETE PRIMA DI INVIARE RISPOSTE CHE FANNO PERDERE SOLO TEMPO!!!

giulioz Profilo | Newbie

ma allora facevi tutto da solo senza scrivere sul forum, no?

alexmed Profilo | Guru

Dim variabile As String = ""

For Each selCells As DataGridViewCell In DataGridView1.SelectedCells
variabile += selCells.Value.ToString & "; "
Next

MsgBox(variabile)

Le mie sono 3 righe di codice le tue sono 5

Ciao

alexmed

andrestu Profilo | Expert

se non esponi dettagliatamente il problema è normale che le risposte potrebbero essere non corrette,
e comunque credo che sia una forma di GRAVE MALEDUCAZIONE la tua, dal momento che qualcuno ha dedicato tempo a leggere i tuoi quesiti e provare a rispondere dovresti solo che ringraziarci indipendentemente dalle risposte ricevute. O al massimo correggerci senza fare ipocrisia...

blackspidy14 Profilo | Junior Member

boh penso che la mia domanda è molto dettagliata e non ha bisogno di nessun altra spiegazione

andrestu Profilo | Expert

si probabilmente hai ragione, vale comunque tutto il resto della precedente risposta

kataklisma Profilo | Senior Member

>CHI FA DA SE FA PER TRE!!!!!
>
>allora senza troppe cazzate posto la soluzione al mio problema
>:

Sei su un forum pubblico dove chi risponde alle TUE domande non è ASSOLUTAMENTE nè tenuto a farlo nè pagato per farlo, quindi, a prescindere dovresti ringraziare chi ha dedicato qualche minuto del suo tempo a TE.

Seconda cosa, sempre in virtù del fatto che sei su un forum pubblico, di tutto rispetto e visitato da centinaia e centinaia di persone al giorno sei pregato di moderare il linguaggio.

>3 RIGHE DI CODICE!!! SE QUALCUNO NON Sà CHE COSA SCRIVERE FA
>PRIMA A NON SCRIVERE NIENTE INVECE DI RISPONDERE ALLA DOMANDA
>CON ALTRE DOMANDE LEGGETE PRIMA DI INVIARE RISPOSTE CHE FANNO
>PERDERE SOLO TEMPO!!!

Vale la stessa cosa detta in precedenza, le persone che hanno risposto alla tua (molto banale e semplice) domanda lo hanno fatto per darti una mano, non di certo per aumentare il numero di post, se hai rispetto di chi lavora e risponde qui sul forum per puro altruismo posta le tue scuse, perchè fino a prova contrario il tempo lo hai fatto perdere tu agli altri!

------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/
http://www.hwtech.gigacenter.it
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