Salut All,
Est-il possible d'empecher la selection d'une cellule dans un DataGridView ?
La propriete selectionmode propose plusieurs solutions, mais pas de l'interdire !!!
Thx.
Danyel.
Salut All,
Est-il possible d'empecher la selection d'une cellule dans un DataGridView ?
La propriete selectionmode propose plusieurs solutions, mais pas de l'interdire !!!
Thx.
Danyel.
Que les neurones soient avec toi, jeune padawan.
Ne pas oublier, qu'un métier, développer être.
Effectuer des recherches et lire les tutos, avant de poster, tu dois.
Aucune question technique, faites par MP, tu ne dois.
Bonjour.
C'est pas évident car les datagridviewcell ne lévent pas d'event du style "mon état a changé" sur lequel on pourrait s'appuyer pour forcer la non sélection.
Comme je suppose que le .readonly n'est pas ce qu'il te faut, il faut sans doute passer par le cellstatechanged du DGV.
Un peu comme ceci :
C'est trés moyen car l'event n'est pas toujours levé, cela dépend du mode de sélection (je n'ai pas tout testé, je te laisse voir si cela te va).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Public Class Form9 Public Sub New() ' Cet appel est requis par le Concepteur Windows Form. InitializeComponent() Dim dt As New DataTable dt.Columns.Add("C1") dt.Columns.Add("C2") dt.Columns.Add("C3") dt.Rows.Add("1", "AAAA", "kmkmlkm") dt.Rows.Add("2", "KHFKFJHKJ", "msdopoipsj") dt.Rows.Add("3", "FKHCKBHIZU", "mjlmdsfkjlkds") Me.DataGridView1.DataSource = dt ' Avec DataGridViewSelectionMode.FullRowSelect par exemple, l'event n'est pas levé Me.DataGridView1.SelectionMode = DataGridViewSelectionMode.CellSelect End Sub Private Sub DataGridView1_CellStateChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellStateChangedEventArgs) Handles DataGridView1.CellStateChanged If e.StateChanged = DataGridViewElementStates.Selected And e.Cell.ColumnIndex = 1 Then e.Cell.Selected = False End If End Sub End Class
Cdt.
Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.
Mouaip, à premiere vue ca pourrait le faire.
Je vais aller tester cela puis dodo
Sinon, j'ai pense à une autre solution, avec un timer qui boucle sur un
DGW.ClearSelection()
Thx olsi.
Que les neurones soient avec toi, jeune padawan.
Ne pas oublier, qu'un métier, développer être.
Effectuer des recherches et lire les tutos, avant de poster, tu dois.
Aucune question technique, faites par MP, tu ne dois.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager