Controls - Do you make the selected/enabled rows stand out in a datagrid?
Updated by Babanazar Kamyljanov [SSW] 11 months ago. See history
123
Many times you allow a multiple selection in a grid by using a checkbox. When you do this make it easy to see the distinction of a row that is selected and one that is not. Make it subtle by dimming the unselected text.

❌ Figure: Bad example - Selected rows are not separate from others

✅ Figure: Good example - Selected rows are separate from others
To make this effect in datagrid, you may need to edit the cellcontentclick event handler code. Example:
private void DatagridviewRules_CellContentClick(object sender, DataGridViewCellEventArgs e) {if (DatagridviewRules.Columns[e.ColumnIndex] is DataGridViewCheckBoxColumn && e.ColumnIndex == 0 && e.RowIndex != -1) {bool boolCheckBox = (bool)(DatagridviewRules.Rows[e.RowIndex].Cells[e.ColumnIndex].Value);DatagridviewRules.Rows[e.RowIndex].DefaultCellStyle.ForeColor = boolCheckBox ? SystemColors.WindowText : SystemColors.ControlDark;DataRowView objDataRowView = (DataRowView) DatagridviewRules.Rows[e.RowIndex].DataBoundItem;JobRule.DataTableJobRulesRow objDataRow = (JobRule.DataTableJobRulesRow)(objDataRowView.Row);updateRuleIsEnabled(objDataRow.RuleId, boolCheckBox);updateSelectAllCheckBox();updateRulesCount();}}
Setting the ForeColor to different ones, like black and gray, can separate the selected rows from others.
Related rules
Need help?
SSW Consulting has over 30 years of experience developing awesome software solutions.