Controls - Do you make the selected/enabled rows stand out in a datagrid?
Last updated by Babanazar Kamyljanov [SSW] 4 months ago.See historyMany 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.
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.