We can use the line init entry point to disable the line-level fields.
var currentRec = scriptContext.currentRecord;
var sublistObj = currentRec.getSublist({ sublistId: scriptContext.sublistId });
var objColumn = sublistObj.getColumn({
fieldId: 'price'
});
objColumn.isDisabled = true;