I have a data bound (Programmatically) DataGridView which is editable. One of the column is used as flag (invisible column), I want to make the rows readonly based on the value of this flag column. If I sort based on a column and changes the value of that column in a specific row, after the rows gets re arranged (because of the sorting), the datagrid rows are becoming readonly incorrectly due to sorting. I tried handling this in “Sorted” event but this event will fire only when we click on the column header to sort. Do you suggest how can I handle or maintain the row position after an already applied sort.