[Vb.Net] mpedire selezione celle datagridview

mercoledì 17 dicembre 2008 - 00.19

ertulio Profilo | Senior Member

Salve, ho la necessita di impedire la selezione delle celle di un datagrid view e permettere la selezione solo su un determinato campo. Ad esempio il datagridview è formato da

ID|Nome|Cognome|eta

vorrei che la selezione fosse possibile solo cliccando su cognome. E' possibile farlo? in che modo? Grazie



http://www.risorsefantacalcio.it

Risorse per tutti gli appassionati di fantacalcio da cui prelevare news, probabili formazioni, voti del corriere e gazzetta e tanhto altro.

alexmed Profilo | Guru

Ciao
Se per selezione indendi che l'utente non possa editare il contenuto della cella allora devi mettere su ReadOnly = True la singola colonna

Me.DataGridView1.Columns(0).ReadOnly = True

Se invece intendi che l'utente clicca sopra una cella e quest'ultima non viene neanche selezionata non saprei.

Ciao

ertulio Profilo | Senior Member

Si intendo che cliccando su una cella non si selezioni
http://www.risorsefantacalcio.it

Risorse per tutti gli appassionati di fantacalcio da cui prelevare news, probabili formazioni, voti del corriere e gazzetta e tanhto altro.

alexmed Profilo | Guru

Ciao
prova questo

Private Sub DataGridView1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DataGridView1.Paint
If Me.DataGridView1.CurrentCell.ColumnIndex <> 2 Then
Me.DataGridView1.DefaultCellStyle.SelectionBackColor = Color.White
Else
Me.DataGridView1.DefaultCellStyle.SelectionBackColor = Color.Red
End If
End Sub

Ciao

ertulio Profilo | Senior Member

Coi potrebe adare, xò quando seleziono un campo bianco, la scritta diventa invisibile, come posso lasciarla cmq di colore nero visibile? Graze
http://www.risorsefantacalcio.it

Risorse per tutti gli appassionati di fantacalcio da cui prelevare news, probabili formazioni, voti del corriere e gazzetta e tanhto altro.

alexmed Profilo | Guru

Prova sostituendo White con Trasparente

ertulio Profilo | Senior Member

Ho già provato, il font diventa cmq trasparente, non è possibile impostare anche il colore al font da codice?
http://www.risorsefantacalcio.it

Risorse per tutti gli appassionati di fantacalcio da cui prelevare news, probabili formazioni, voti del corriere e gazzetta e tanhto altro.

alexmed Profilo | Guru

è comunque strano (a me non succede)

Per impostare il colore del font fai:

Me.DataGridView1.DefaultCellStyle.SelectionForeColor = Color.Black

Tra l'altro mi sono ricordato di un vecchio post dove si diceva che è meglio usare l'evento "RowPrePaint"

Private Sub DataGridView1_RowPrePaint(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowPrePaintEventArgs) Handles DataGridView1.RowPrePaint
If Me.DataGridView1.CurrentCell.ColumnIndex <> 2 Then
Me.DataGridView1.DefaultCellStyle.SelectionBackColor = Color.Transparent
Me.DataGridView1.DefaultCellStyle.SelectionForeColor = Color.Black
Else
Me.DataGridView1.DefaultCellStyle.SelectionBackColor = Color.SlateGray
Me.DataGridView1.DefaultCellStyle.SelectionForeColor = Color.Black
End If
End Sub

Ciao

ertulio Profilo | Senior Member

grazie 10000 funziona
http://www.risorsefantacalcio.it

Risorse per tutti gli appassionati di fantacalcio da cui prelevare news, probabili formazioni, voti del corriere e gazzetta e tanhto altro.
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5