2011-04-05 1 views
0

문자열 또는 int 중 하나를 선호하지만 비트를 기반으로 정착합니다.Telerik Grid Row 비트/int/string 필드에서 사용자 정의 형식 지정

목표는 String 필드의 값이 == 'ㅋㅋ blah blah'이면 전체 행이 회색으로 변할 것입니다 (빨간색과 초록색의 파란색 테이블이 이미 사용되어 다른 색상 제안을 열었습니다).)

나는

.RowAction(row => 
    { 
     if (row.DataItem.[Bound Data col Name] == "[String value]") 
     { 
      row.HtmlAttributes["style"] = "background:grey;"; 
     } 
    }) 

.RowAction(row => 
    { 
     if (row.DataItem.[Bound Data col Name] == "[String value]") 
     { 
      row.Grid.HtmlAttributes["style"] = "background:grey;"; 
     } 
    }) 

을 시도했습니다

이들 모두는 조금이라도 작동하지 않았으며, 이것들을 수행하는 방법에 대한 mvc의 유일한 명확한 예입니다. 아무도 아이디어가 없습니까?

+0

어떤 부분이 작동하지 않습니까? 값의 일치? 이 부분은 작동해야합니다. e.row.style.backgroundColor = "gray"; 비교하려고하는 실제 값을 표시하여 디버깅을 시도하십시오. –

+0

아직도 무엇이 잘못 되었는가에 대한 단서가 없지만 클라이언트 이벤트와 jscript는 잘 작동하지만 샘플 프로젝트를로드 한 후에야 telerik 포럼에서 제공되었고 이후에는 작동했습니다. – Myzifer

+0

그럼 누군가가 같은 신비한 문제가 있다면 http://www.telerik.com/community/forums/aspnet-mvc/grid/telerik-grid-row-custom-formatting-on-either-bit-int-string- field.aspx # 1594253 – Myzifer

답변

3

글쎄, 영원히 가져 갔지만 telerik은 마침내 상업용 버전 (http://www.telerik.com/community/forums/aspnet-mvc/)에 주소가있는 오픈 소스 버전에 Cellaction 버그가 있음을 인정했습니다. grid-cell-action-issue-evidence-provided.aspx), 마침내 2 개의 잠긴 화제가 나왔습니다.

짧은 이야기를 짧게하려면 Cellaction과 관련된 문제가 발생하면 상용 버전을 구입하거나 아래 단계를 따르십시오.

심플 당신의 색을 바꿀 각 셀에 대한 추가 필드를 추가하십시오. 제 경우에는 현재 날짜에 얼마나 가까운지에 따라 색상이 달라질 수 있습니다.

그러면 컨트롤러에서 모든 날짜 계산을 수행하고 색상이 얼마나 가까운지에 따라 색상이 해당 DTO 항목에 기록됩니다.

public String DateDisplay1 
public String DateDisplay1Colour 

예를 들어

그런 다음 그리드의 색상 항목을 숨기고 DateDisplay1이 켜져 행의 색상을 변경하는 값이다 사용할 수 있습니다. DateDisplay1가 onRowDataBound (예) 함수에 다음 ROW1에있는 경우

그래서

if (e.dataItem.DateDiplay1Colour == "Green") { 

     e.row.cells[1].style.backgroundColor = "#7EDF7D"; 
    } 

당신은 여전히 ​​셀에 날짜를 표시하고 표시 할 수 있습니다 이런 식으로 뭔가를했을 색상은 해당있어 기반으로 숨겨진 가치. 사용자가 다음

row.cells[6].innerHTML = '<readonly>' + "Edit" + '</readonly>'; 

따라서 사용자가 해당 레코드를 편집 할 수 있도록 링크를 제거하기 관리자가 아닌 경우, 그래서

다음 같은 관리자 권한으로 수행 할 수 있습니다.

희망이 있으시면 어떤 사람들에게 도움이 되시길 바랍니다. 제가 찾은 해결책을 추가 할 수 있도록 telerik이 내 주제를 열어주기를 바랍니다.

+0

이렇게하는 또 다른 방법은 e.row.cells [1] .style.backgroundColor = e.dataItem.DateDisplayColour이고 Green 대신에 색을 입력하도록 설정하는 if 문을 사용합니다 너는 표시하고 싶었다. – Myzifer

+0

kendoui에서 지금하고있는 것은 columns 섹션에 "template : '# = Temp3 #'"과 같은 모델에 설정된 템플릿을 입력하고 'this.Temp3 = " Myzifer