2013-10-28 2 views
0

onCellChange 이벤트에 색상을 다시 행 설정하지만이 작동하지 않았다, 행 색상은 변경되지 않았다SlickGrid 내가 변경 한 값에 따라 행에 대한 배경색을 설정하는 코드를 다음을 사용

 MyGrid.onCellChange.subscribe(function (e, args) 
     { 
      var data = Grid.getData(); 

      if(data[args.row].IsDeleted == true) 
      { 
       args.row.cssClasses += 'MyBlueColor'; //Set Css Class 
      } 
     } 

     <style type="text/css"> 
     .MyBlueColor 
     { 
      background-color: blue; 
     } 
     </style> 
+1

어떻게 렌더링되는지 확인하십시오. CSS 할당에 공백이 없으며 이름을 다른 클래스와 결합합니까? 더 많은 지역화 된 배경색 세트가 셀에 존재합니까?'.MyBlueColor .slick-cell {}'과 같은 CSS 규칙이 필요합니까? – Malk

답변

0

args.row는 데이터 항목을 기준으로 행의 cssClass을 변경하려면 행 인덱스가 아닌 행 자체

check out what is passed as the event args when onCellChange is triggered

, 당신은 사용자에게 해당 행에 대한 사용자 정의 메타 데이터를 반환하는 getItemMetadata 기능을 구현해야합니다.

function getItemMetadata(i) { 
    var item = rows[i]; 
    if (item === undefined) { 
     return null; 
    } 
    if (item.IsDeleted) { 
     return { 
      cssClasses: 'MyBlueColor' 
     }; 
    } 

    return null; 
} 
이 그냥 작동하는지 확인하기 위해 그래서 으로를 해킹 slick.groupitemmetadataprovider.js

에서 구현하는 방법을 확인, 당신은 같을 것입니다 사용자 정의 기능을 slick.dataview.js에서 getItemMetadata 기능을 대체 할 수

이것은 분명히 원래의 열 정의를 깨뜨릴 것입니다. 그러나 getRowMetadata 함수가 어떻게 작동하는지 알아 내면 slick.groupitemmetadataprovider.js과 유사한 메타 데이터 공급자를 만들고 각 열에 대해 사용자 지정 메타 데이터를 반환 할 수 있어야합니다!