0

BeforeCheckNode イベントで Node の ForeColor に応じて CanCheck を true または false に設定する必要があります。BeforeCheckNode イベントで e.Node の ForeColor を取得するにはどうすればよいですか?

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 に答える