Force a Single Select for a Grid

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	Else		' 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 IfEnd Sub

In the SelChange event for a grid, put in this code:

 Private Sub myGrid_SelChange	UpdateGrid myGridEnd Sub

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist