Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Nov 18, 1998



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Force a Single Select for a Grid

Setting the SelectionMode property of the MSFlexGrid to flexSelectionByRow forces all columns in a row to be selected rather than a single cell. It also allows selection of multiple rows simultaneously. To force a single row selection for a grid, I have a function called UpdateGrid that ensures only one row is selected, regardless of a drag on the rows or if the Shift and the Up and Down arrow keys are used. This is useful if you want to present a list of items in a grid format and only want one highlighted:
Sub UpdateGrid(grdInput As MSFlexGrid)
	If grdInput.Rows = (grdInput.FixedRows + 1) Then
		' only one row in the grid and it
		' it a fixed one: don't do anything
		Exit Sub
		' more than one row in the grid
		If grdInput.RowSel <> grdInput.Row Then
			' user selected a different row in the grid 
			' than the current row:
			' set it to the highlighted row
			grdInput.RowSel = grdInput.Row
		End If
	End If
End Sub
In the SelChange event for a grid, put in this code:
Private Sub myGrid_SelChange
	UpdateGrid myGrid
End Sub
Mike Peters
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date