2016-09-26 10 views
0

나는 다음과 같은 이미지를 (내가 pik1에 동일한 작업을 수행하려고)를 참조하시기 바랍니다 수있는 모든 노드 (부모 & & 어린이)RadTreeView 모든 노드는 같은 aligment이

에 대해 동일한 정렬을 가질 수있는 방법. "침구 기능"은 루트이고 다른 노드는 리프 (어린이)입니다.

enter image description here

enter image description here

나는 Telerik RadTreeView

나는 아이들이 ..thanks 노드 전에 공간을 제거하기 위해 멀리 필요
<telerik:RadTreeView ID="TreeView1" ItemsIndent="0" ShowLineImages="false" RegisterWithScriptManager ="true" ForeColor="Black" CheckBoxes="true" runat="server" OnNodeCheck="TreeView1_TreeNodeCheckChanged" > 
    </telerik:RadTreeView> 



private void FillTree() 
    { 
     //get all tree 

     DataTable TreeDataTable = new DataTable(); 
     TreeDataTable = DSCAttribute.GetAttributeFullTree(); 
     TreeView1.DataTextField = "Name"; 
     TreeView1.DataValueField = "Name"; 
     TreeView1.DataFieldID = "Id"; 
     TreeView1.DataFieldParentID = "ParentID"; 
     TreeView1.DataSource = TreeDataTable; 
     TreeView1.DataBind(); 
} 

을 사용하고?!

+1

표시 방법 바인드 그것을 : 여기 시작하는 기본적인 예입니다. –

+1

또한 데이터 모델을 추가하고 코드에 무엇이 문제가 있는지 알려줍니다. 어떻게 보입니까? –

+0

@mwisnicki ... 그냥 자식 노드 전에 공간을 제거하려면 자식 노드와 부모 노드가 동일한 왼쪽 맞춤 .. .. 바인딩 및 데이터 모델이 정확합니다 .. –

답변

1

treeveiw는이 패딩을 사용하여 계층을 표시합니다. 따라서 데이터 소스를 병합하고 모든 것을 한 수준으로 표시하는 것을 고려해야합니다.

또는 CSS 규칙을 재정 의하여 해킹을 시도 할 수 있습니다.

 /*remove padding*/ 
     div.RadTreeView .rtLI 
     { 
      padding-left: 0; 
     } 

     /*remove dotted lines*/ 
     div.RadTreeView .rtLines .rtLI::before, 
     div.RadTreeView .rtLines .rtOut::before 
     { 
      display: none; 
     } 

     /*hide expand/collapse icons*/ 
     span.rtMinus, 
     span.rtPlus 
     { 
      display: none; 
     } 

및 일부 샘플 마크 업

 <telerik:RadTreeView ID="RadTreeView1" runat="server" RenderMode="Lightweight" CheckBoxes="true"> 
      <Nodes> 
       <telerik:RadTreeNode Text="root" Expanded="true"> 
        <Nodes> 
         <telerik:RadTreeNode Text="leaf 1" Expanded="true"> 
          <Nodes> 
           <telerik:RadTreeNode Text="subleaf 1"></telerik:RadTreeNode> 
           <telerik:RadTreeNode Text="subleaf 2"></telerik:RadTreeNode> 
           <telerik:RadTreeNode Text="subleaf 3"></telerik:RadTreeNode> 
          </Nodes> 
         </telerik:RadTreeNode> 
         <telerik:RadTreeNode Text="leaf 2"></telerik:RadTreeNode> 
         <telerik:RadTreeNode Text="leaf 3"></telerik:RadTreeNode> 
        </Nodes> 
       </telerik:RadTreeNode> 
      </Nodes> 
     </telerik:RadTreeView> 
+0

어린이 노드의 패딩 첨부 된 CSS를 사용하여 제거하지 않습니까?! –

+0

나는 모든 노드가 하나의 레벨에 있어야한다. –

+0

필자의 예제에서 Lightweight RenderMode를 주목하라. 이렇게하면 CSS를 사용하여 모든 노드를 동일하게 만드는 데 도움이됩니다. 또한 나의 대답의 맨 처음 문장을 주목하십시오. 잘못된 컨트롤을 사용하고 있습니다. 격자, 목록보기, 반복기 또는 해킹을 피하기 위해 계층 적 구조가 아닌 다른 요소를 고려하십시오. – rdmptn