0

我需要根据 BeforeCheckNode 事件中节点的 ForeColor 将 CanCheck 设置为 true 或 false。如何在 BeforeCheckNode 事件中获取 e.Node 的前景色?

private void _tree_BeforeCheckNode(object sender, DevExpress.XtraTreeList.CheckNodeEventArgs e)
    {

        int index = _tree.GetNodeIndex(e.Node);
        RowInfo ri = _tree.ViewInfo.RowsInfo.Rows[index] as RowInfo;
        CellInfo cell = (CellInfo)ri.Cells[0];
        if (cell.PaintAppearance.ForeColor == Color.LightGray)
            e.CanCheck = false;
    }

但是这里的索引是相对于父级的。因此,如果我有多个带有子节点的父节点,则 RowInfo 会出错。如果我使用可见索引,它对 RowInfo 不起作用,因为它超出了范围。

4

1 回答 1

0
   if ((_tree.ViewInfo.RowsInfo[e.Node].Cells[0] as CellInfo).PaintAppearance.ForeColor == Color.LightGray)
            e.CanCheck = false;

解决了我的问题。

于 2012-10-01T20:04:32.873 回答