使用RepositoryItemTextEdit禁用gridview单元格编辑

时间:2012-08-01 15:33:05

标签: c# devexpress

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

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

     repositoryItemTextEdit.AllowFocused = false;

     m_repositoryItemTextEdit.ReadOnly = true;

但是我仍然可以点击单元格,即使我无法更改值,也会出现编辑光标。

有没有办法摆脱文字光标?

谢谢

2 个答案:

答案 0 :(得分:1)

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

我得到了解决方案。

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事件取消此操作。

答案 1 :(得分:0)

基本上,您必须处理GridView的ShownEditor事件。在那里,你测试聚焦的行和列,如果单元格应该是只读的,你可以:

grdView.ActiveEditor.Properties.ReadOnly = True 

为了让用户感觉良好且难以理解,您还可以处理CustomDrawCell事件,并将背景颜色(e.Appearance)设置为用于只读控件的颜色。

除了这一点之外,这可能有些不同,因为它没有摆脱光标;但我不知道那会有什么用。