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.
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.
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.
Partager