I think I found the solution for your problem. I had the same problem and found out that there are some differences in this case in comparison to Telerik (where ReadOnly was a property for a column)
In your DataSource you have to specify which column should not be editable:
dataSource.Ajax().Read("AjaxInitGrid", "Shared").Model(model =>
model.Id(p => p.ID);
model.Field(p => p.CreationDate).Editable(false);
model.Field(p => p.BirthDate).Editable(false);
Using .Editable(false) makes columns which are bound to these properties ReadOnly. I don't know why, but the model.Id - line is necessary.
Hope I was able to help you.