C# 使用RepositoryItemTextEdit禁用gridview单元格编辑

C# 使用RepositoryItemTextEdit禁用gridview单元格编辑,c#,devexpress,C#,Devexpress,我正在尝试禁用对特定gridview单元格的编辑 我正在使用具有以下属性的RepositoryItemTextEdit: repositoryItemTextEdit.AllowFocused = false; m_repositoryItemTextEdit.ReadOnly = true; 但是,即使无法更改值,我仍然可以单击单元格并显示编辑光标 有没有办法摆脱文本光标 谢谢基本上,您必须处理GridView的ShowneEditor事件。在这里,您测试聚焦的行和列,

我正在尝试禁用对特定gridview单元格的编辑

我正在使用具有以下属性的RepositoryItemTextEdit:

     repositoryItemTextEdit.AllowFocused = false;

     m_repositoryItemTextEdit.ReadOnly = true;
但是,即使无法更改值,我仍然可以单击单元格并显示编辑光标

有没有办法摆脱文本光标


谢谢

基本上,您必须处理GridView的
ShowneEditor
事件。在这里,您测试聚焦的行和列,如果单元格应为只读,则执行以下操作:

grdView.ActiveEditor.Properties.ReadOnly = True 
为了让用户更容易理解,您还可以处理
CustomDrawCell
事件,并将背景颜色(例如外观)设置为只读控件使用的颜色


这可能有点离题,因为它没有摆脱光标;但我看不出这有什么用处。

基本上,您必须处理GridView的
ShownEditor
事件。在这里,您测试聚焦的行和列,如果单元格应为只读,则执行以下操作:

grdView.ActiveEditor.Properties.ReadOnly = True 
为了让用户更容易理解,您还可以处理
CustomDrawCell
事件,并将背景颜色(例如外观)设置为只读控件使用的颜色


这可能有点离题,因为它没有摆脱光标;但我看不出这有什么用。

我遇到了同样的问题,禁用后单元格和编辑光标仍然存在

我找到了解决办法

private void tree_ShowingEditor(object sender, CancelEventArgs e)
    {
        Nodes.PromptNode promptNode = tree.FocusedNode as Nodes.PromptNode;

        if (tree.FocusedColumn == valueColumn && promptNode.PromptResult.ValueType.MyValueType == ValueType.ValueTypeOptions.Calculated)
        {
            e.Cancel = true;
        }

    }

使用ShowingEditor事件取消此操作。

我遇到了相同的问题,禁用后单元格和编辑光标仍然存在

我找到了解决办法

private void tree_ShowingEditor(object sender, CancelEventArgs e)
    {
        Nodes.PromptNode promptNode = tree.FocusedNode as Nodes.PromptNode;

        if (tree.FocusedColumn == valueColumn && promptNode.PromptResult.ValueType.MyValueType == ValueType.ValueTypeOptions.Calculated)
        {
            e.Cancel = true;
        }

    }

使用
ShowingEditor
事件取消此操作。

您希望用户能够选择单个单元格还是仅选择整行?如果是,您可以将SelectionMode更改为FullRowSelectindividual cells。我在单元格上有不同的repositoryItem。是否使用DevXPress控件?是否希望用户能够选择单个单元格,或仅选择整行?如果是,您可以将SelectionMode更改为FullRowSelectindividual cells。我在单元格上有不同的repositoryItem。您是否使用DevXPress控件?