DevExpress 가 TreeList 를 실현 하여 공공 부모 노드 를 위로 재 귀적 으로 가 져 오 는 방법
2808 단어 DevExpressTreeList
예 를 들 어'Test 103-2'노드 를 클릭 하면 그 유형 은'등'유형 인 데'중심 구역'이라는 유형 은'지역'의 공공 노드 를 어떻게 얻 습 니까?이에 대한 구체 적 인 실현 방법 은 다음 과 같다.
주요 기능 코드 는 다음 과 같 습 니 다.
/// <summary>
/// ,
/// </summary>
/// <param name="node"> </param>
/// <param name="conditionHanlder"> 【 】</param>
/// <returns> 【TreeListNode】</returns>
public static TreeListNode GetParentNode(this TreeListNode node, Predicate<TreeListNode> conditionHanlder)
{
TreeListNode _parentNode = node.ParentNode;//
TreeListNode _conditonNode = null;
if (_parentNode != null)
{
if (conditionHanlder(_parentNode))//
{
_conditonNode = _parentNode;
}
if (_conditonNode == null)// ,
_conditonNode = GetParentNode(_parentNode, conditionHanlder);
}
return _conditonNode;
}
/// <summary>
///
/// </summary>
/// <param name="node"> </param>
/// <param name="conditionHanlder"> , fasle ; true ;</param>
public static void UpwardRecursiveNode(this TreeListNode node, Predicate<TreeListNode> conditionHanlder)
{
TreeListNode _parentNode = node.ParentNode;
if (_parentNode != null)
{
if (conditionHanlder(_parentNode))
{
UpwardRecursiveNode(_parentNode, conditionHanlder);
}
}
}
/// <summary>
/// ,
/// </summary>
/// <param name="node"> </param>
/// <param name="checkHanlder"> </param>
/// <returns> </returns>
public static TreeListNode
GetPublicParentNode
(this TreeListNode node, Predicate<TreeListNode> checkHanlder)
{
TreeListNode _publicPNode = null;
TreeListNode _findNode = node.GetParentNode(checkHanlder);//
if (_findNode != null)
{
//
UpwardRecursiveNode(_findNode, n =>
{
TreeListNode _curpublicNode = n.ParentNode;//
if (_curpublicNode != null)
{
if (_curpublicNode.Nodes.Count > 1)// ,
{
_publicPNode = _curpublicNode;
return false;//
}
}
return true;//
});
}
return _publicPNode;
}
본 논문 에서 말 한 예 가 여러분 에 게 비슷 한 C\#프로젝트 개발 에 도움 이 되 기 를 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
DevExpress GridControl 데이터 바인딩본인은 재주가 없군요. 두 시간 넘게 고생해서야 데이터를 연결했습니다.이제 더 많은 친구들을 돕기 위해 고생 과정을 기록해 두고, 자신도 복습해 보자. 코드로 바로 올라갔네... WPF 하 xaml 파일 이상 주의:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.