日期:2014-05-17  浏览次数:20861 次

求助:在winform中使用Devexpress的treeList的CheckBox的使用(当部分选中时父结点的显示状态,如使其成灰色状态)
在winform中,当我用DevExpress的TreeList控件中显示CheckBox时,如果我把某父结点下的所有子结点全部选中,则该父结点钩选。没有一个选中,则父结点不钩选,当部分选中时,该父结点钩选中,但此时成灰色状态。(或以其它方式来表示部分选中)。希望各位高手能能帮在下,解决一下。困扰我许久了!! 先谢过。

------解决方案--------------------
/// <summary>
/// 第三个选项卡!第一个treeview的复选框 缺料树结构
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ItemOrderAbsentTreeView_AfterCheck(object sender, TreeViewEventArgs e)
{
//设置前面隐藏了的足料缺料按钮
ItemOrderEnoughButton.Visible = true;
ItemOrderAbsentButton.Visible = false;

if (e.Action == TreeViewAction.ByMouse)
{
if (e.Node.Checked)
{
//取消节点选中状态之后,取消所有父节点的选中状态
setChildNodeCheckedState(e.Node, true);
}
else
{
//取消节点选中状态之后,取消所有父节点的选中状态
setChildNodeCheckedState(e.Node, false);
//如果节点存在父节点,取消父节点的选中状态
if (e.Node.Parent != null)
{
setParentNodeCheckedState(e.Node, false);
}
}
}
}
这是我曾经用过的代码,你可以参考以下
------解决方案--------------------
他自己不是有示例代码嘛??