2017-10-23 11 views
0

그리드에서 특정 그리드 셀을 렌더링하는 방법 GXT (Java)?특정 그리드 셀 (GXT)을 렌더링하는 방법은 무엇입니까?

그리드 셀의 표현식에 유효하지 않은 구문이있는 경우 해당 표 셀의 배경이 빨간색으로 변경되어야하며 그렇지 않으면 배경이 흰색으로 유지되어야합니다.

getColumnModel().getColumn(cellColIndex).setCell(new AbstractCell<Object>() { 
     @Override 
     public void render(com.google.gwt.cell.client.Cell.Context context, Object value, SafeHtmlBuilder sb) { 
      sb.appendHtmlConstant("<div style=\"background-color:red;\">"); 
      sb.appendHtmlConstant(value.toString()); 
      sb.appendHtmlConstant("</div>"); 
     } 
    }); 

내가 특정 셀 렌더링을 할 : 여기

은 특정 컬럼에 대한 모든 셀을 렌더링하는 예입니다. 그렇게 할 수있는 방법이 있습니까?

답변

1

표시 한 셀 렌더러에서 빨간색으로 표시되어야하는지 확인하십시오 (그렇다면 로직을 기반으로 background-color을 사용하십시오).

그런 다음 값이 변경되면 변경해야하는 행에서 store.update (...)를 호출하여 모눈에 다시 렌더링하고 색을 업데이트하도록 요청하십시오.

손으로 이미 렌더링 된 셀을 수정하는 좋은 방법이 없습니다. 그리드에서 재 렌더링이 필요하다고 판단 할 수 있으므로 의도적입니다 (정렬 또는 필터 작업, 페이징 또는 스크롤링, 등), 귀하의 사용자 정의 스타일링이 손실됩니다. 대신, 필요한 것을 반영하도록 셀의 로직을 업데이트하고 데이터가 변경 될 때 업데이트하도록 상점/그리드에 지시하십시오.