欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

DevExpress實(shí)現(xiàn)TreeList父子節(jié)點(diǎn)CheckState狀態(tài)同步的方法

 更新時(shí)間:2014年08月06日 16:48:46   投稿:shichen2014  
這篇文章主要介紹了DevExpress實(shí)現(xiàn)TreeList父子節(jié)點(diǎn)CheckState狀態(tài)同步的方法,需要的朋友可以參考下

本文實(shí)例展示了DevExpress實(shí)現(xiàn)TreeList父子節(jié)點(diǎn)CheckState狀態(tài)同步的方法,在項(xiàng)目開發(fā)中有一定的應(yīng)用價(jià)值,具體實(shí)現(xiàn)方法如下:

主要功能代碼如下:

/// <summary>
///同步父子節(jié)點(diǎn)勾選狀態(tài)
///說明
///在AfterCheckNode事件中使用代碼
///eg:e.Node.SyncNodeCheckState(e.Node.CheckState);
/// </summary>
/// <param name="node">需要同步的節(jié)點(diǎn)</param>
/// <param name="check">節(jié)點(diǎn)當(dāng)前勾選狀態(tài)</param>
public static void SyncNodeCheckState(this TreeListNode node, CheckState check) { SyncNodeCheckState_Child(node, check); SyncNodeCheckState_Parent(node, check); }

private static void SyncNodeCheckState_Child(TreeListNode node, CheckState check)
{
  if (node != null)
  {
 node.DownRecursiveNode(n => n.CheckState = check);
  }
}
private static void SyncNodeCheckState_Parent(TreeListNode node, CheckState check)
{
  if (node.ParentNode != null)
  {
 bool _cked = false;
 CheckState _ckState;
 foreach (TreeListNode cn in node.ParentNode.Nodes)
 {
   _ckState = cn.CheckState;
   if (check != _ckState)
   {
 _cked = !_cked;
 break;
   }
 }
 node.ParentNode.CheckState = _cked ? CheckState.Indeterminate : check;
 SyncNodeCheckState_Parent(node.ParentNode, check);
  }
}
/// <summary>
/// 向下遞歸TreeListNode節(jié)點(diǎn)
/// </summary>
/// <param name="node">需要向下遞歸的節(jié)點(diǎn)</param>
/// <param name="conditionHanlder">委托</param>
public static void DownRecursiveNode(this TreeListNode node, Action<TreeListNode> conditionHanlder)
{
  foreach (TreeListNode _childNode in node.Nodes)
  {
 conditionHanlder(_childNode);
 DownRecursiveNode(_childNode, conditionHanlder);
  }
}

代碼運(yùn)行效果如下圖所示:

相關(guān)文章

  • C#讀取xml節(jié)點(diǎn)數(shù)據(jù)方法小結(jié)

    C#讀取xml節(jié)點(diǎn)數(shù)據(jù)方法小結(jié)

    這篇文章主要介紹了C#讀取xml節(jié)點(diǎn)數(shù)據(jù)的方法,實(shí)例總結(jié)了C#針對(duì)XML文件節(jié)點(diǎn)操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • c#利用Grahics進(jìn)行圖片裁剪

    c#利用Grahics進(jìn)行圖片裁剪

    這兩天做了一個(gè)圖片對(duì)比工具,里面要處理兩張大的圖片,所以要對(duì)圖片先進(jìn)行裁剪,下面看看我的方法吧
    2013-12-12
  • C# GDI+實(shí)現(xiàn)時(shí)鐘表盤

    C# GDI+實(shí)現(xiàn)時(shí)鐘表盤

    這篇文章主要為大家詳細(xì)介紹了C# GDI+實(shí)現(xiàn)時(shí)鐘表盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Unity 實(shí)現(xiàn)框選游戲戰(zhàn)斗單位的思路詳解

    Unity 實(shí)現(xiàn)框選游戲戰(zhàn)斗單位的思路詳解

    這篇文章主要介紹了Unity 如何實(shí)現(xiàn)框選游戲戰(zhàn)斗單位,本文簡(jiǎn)單介紹如何實(shí)現(xiàn)即時(shí)戰(zhàn)略游戲中框選戰(zhàn)斗單位的功能,需要的朋友可以參考下
    2022-12-12
  • C#零基礎(chǔ)學(xué)習(xí)理解委托

    C#零基礎(chǔ)學(xué)習(xí)理解委托

    C#零基礎(chǔ)學(xué)習(xí)理解委托,需要的朋友可以參考一下
    2013-02-02
  • 淺談Silverlight 跨線程的使用詳解

    淺談Silverlight 跨線程的使用詳解

    本篇文章是對(duì)Silverlight跨線程的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C#中radioButton控件使用詳細(xì)方法示例

    C#中radioButton控件使用詳細(xì)方法示例

    這篇文章主要給大家介紹了關(guān)于C#中radioButton控件使用詳細(xì)方法的相關(guān)資料,RadioButton是圓形單選按鈕,在同一個(gè)容器中,單選項(xiàng)互斥,不同容器中的RadioButton互相獨(dú)立,需要的朋友可以參考下
    2023-10-10
  • 談一談autofac組件的實(shí)例范圍

    談一談autofac組件的實(shí)例范圍

    這篇文章主要和大家聊一聊autofac組件的實(shí)例范圍,探討autofac組件的實(shí)例范圍,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 基于WPF實(shí)現(xiàn)多選下拉控件的示例代碼

    基于WPF實(shí)現(xiàn)多選下拉控件的示例代碼

    這篇文章主要為大家詳細(xì)介紹了WPF實(shí)現(xiàn)簡(jiǎn)單的多選下拉控件,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-02-02
  • C#使用OpenCvSharp實(shí)現(xiàn)透視變換功能

    C#使用OpenCvSharp實(shí)現(xiàn)透視變換功能

    這篇文章主要為大家詳細(xì)介紹了C#如何使用OpenCvSharp實(shí)現(xiàn)透視變換的功能,文中的示例代碼簡(jiǎn)潔易懂,具有一定的學(xué)習(xí)價(jià)值,需要的小伙伴可以參考下
    2023-11-11

最新評(píng)論