Skip to main content
A newer version of this page is available. .
All docs
V20.2

BaseColumn.IsReadOnlyBinding Property

Gets or sets the binding that determines a cell’s read-only state.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v20.2.Core.dll

NuGet Packages: DevExpress.WindowsDesktop.Wpf.Grid.Core, DevExpress.Wpf.Grid.Core

Declaration

[DefaultValue(null)]
public BindingBase IsReadOnlyBinding { get; set; }

Property Value

Type Default Description
BindingBase *null*

The binding that associates the read-only state of cells with a property in a data source.

Remarks

The code sample below sets cells in the Progress column as read-only if a task has subtasks:

View Example: Read-only and Enabled State Binding

<dxg:TreeListControl x:Name="treeList"
                     ItemsSource="{Binding Path=EditableDataSource, Source={StaticResource employeeTasks}}">
    <dxg:TreeListControl.Columns>
        <dxg:TreeListColumn FieldName="Name" Header="Task"/>
        <dxg:TreeListColumn FieldName="Employee" Header="Assignee"/>

        <dxg:TreeListColumn FieldName="Status" Header="Progress" 
                            IsReadOnlyBinding="{Binding HasSubtasks}"/>

        <dxg:TreeListColumn FieldName="StartDate"/>
        <dxg:TreeListColumn FieldName="DueDate"/>
    </dxg:TreeListControl.Columns>
    <dxg:TreeListControl.View>
        <dxg:TreeListView x:Name="view" KeyFieldName="ID" ParentFieldName="ParentID"/>
    </dxg:TreeListControl.View>
</dxg:TreeListControl> 
public class EmployeeTask: INotifyPropertyChanged {
    public int ID { get; set; }
    public int ParentID { get; set; }
    public string Name { get; set; }
    public string Employee { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime DueDate { get; set; }  
    public int Status { get; set; }        
    public bool HasSubtasks { get; }

    // ...
} 

Customize Appearance Settings of Read-only Cells

To change the appearance settings of read-only cells, use the ColumnBase.CellStyle property with a trigger. Use the LightweightCellEditor as the style’s target type.

<dxg:TreeListColumn.CellStyle>
    <Style TargetType="dxg:LightweightCellEditor">
        <Style.Triggers>
            <Trigger Property="ReadOnly" Value="True">
                <Setter Property="Background" Value="LightGray" />                               
            </Trigger>
        </Style.Triggers>
    </Style>
</dxg:TreeListColumn.CellStyle>

 

For more information, refer to Disable Editing.

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the IsReadOnlyBinding property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also