2012-12-03 4 views
1

Infragistics 그리드를로드 중입니다. 로드 할 때로드 할 항목을 알기 전에 데이터 집합의 다른 값을 검사해야하는 템플릿 열이 있습니다. Infragistics가이 작업을 수행하게하므로 특정 정보를 숨기거나 표시하기 위해로드 된 후 그리드에서 쿼리를 실행해야합니다. 예를 들어Infragistics Jquery Grid onLoad

:

내 그리드 :

  $("#divGrid").igGrid({ 
      columns: [ 
       { 
        headerText: "", 
        width: "70px", 
        key: "Division", 
        template: ProperRights.GetTemplate("${Division}") 
       } 
      ], 
      primaryKey: "EmployeeNumber", 
      autoGenerateColumns: false, 
      dataSource: AccountAdministrationGrid.GetGridData() 
     }); 

내 JS 템플릿 논리 : 내가하고 싶은,하지만 ProperRights.GetTemplate 단지 $를 반환 무엇

var ProperRights = new function() { 
    this.GetTemplate = function(division) { 
     if (division === 'DIV1') { 
      return 'Special Stuff'; 
     } else { 
      return "Boring Stuff"; 
     } 
    }; 
}; 

{눈금 행 값 대신 {나누기}.

그럼 내 다음 방법은 .ready()를 그리드 끝에 추가하는 것이 었습니다.

.ready(function() { 
    $("td").each(function() { 
     var id = $(this).text(); 
     console.log(id); 
    }); 
}); 

을하지만 그것은 다시 0 TD의로 오는 그리드처럼 발견 유지 중 하나가 작동하지 않습니다 다음 행의 값 밖으로 각 TD와 조각을 통해 루프과 같이 수동으로 첫 번째 열에 내 값을 변경 아직로드되지 않았습니다.

답변

6

이 경우에는 열에 대한 조건부 템플릿을 만들기 위해 Infragistics의 템플릿 엔진을 사용하는 것이 좋습니다. 특정 시나리오에서

http://help.infragistics.com/Help/NetAdvantage/jQuery/2012.2/CLR4.0/html/Creating_Conditional_Template_Containing_Default%20Statement.html

http://www.infragistics.com/products/jquery/sample/templating-engine/conditional-row-template

, 당신과 비슷한 뭔가를 시도 할 수 있습니다 다음 템플릿 생성 엔진 및 특히 igGrid에 대한 조건 행 템플릿에 대한 개요를 제공하는 몇 가지 유용한 자원에서 확인할 수 있습니다 :

 var ProperRightsTemplate = '{{if ${Division} == "Div1" }} <span> Some Value </span>'; 
     ProperRightsTemplate += '{{else}} <span> Some boring stuff </span> {{/if}}'; 

희망이 도움이됩니다.

+2

여기에 올바른 대답을 얻지 만 Infragistics 자체 지원 티켓에서 잘못된 대답을 얻으려면 어떻게해야합니까? 고맙습니다. – Boone