You can override Column.MakeEditorReadOnly to 'lock' inplace editor:
[c#]
public ColumnWithNonEditableDropdown : Column
{
public ColumnWithNonEditableDropdown() : base(){}
public ColumnWithNonEditableDropdown(string name) : base(name){}
public ColumnWithNonEditableDropdown(string name, string fieldName) : base(name, fieldName){}
private bool dropdownNonEditable = true;
[DefaultValue(true)]
public bool DropdownNonEditable
{
get
{
return dropdownNonEditable;
}
set
{
dropdownNonEditable = value;
}
}
public override bool MakeEditorReadOnly(NodeBase node)
{
return (EditorStyle == EditorStyle.DropDown || EditorStyle == EditorStyle.DropDownResizable) ?
dropdownNonEditable :
base.MakeEditorReadOnly(node);
}
}