2010-12-20 7 views
7

ASP.NET MVC 3에서 Webgrid를 사용하여 조건부 서식을 지정해야합니까?ASP.NET MVC 3 WebGrid - 조건부 열 서식

나는 내가 말할 수있는 알고 ... grid.Column("PropertyName", "Header Name", style: "bold") ...

그것은 HTML 렌더링 것이다 말한다 TD에 대한 : class="bold"가.

내가 원했던 것은 한 가지 스타일의 일부 TD와 다른 스타일의 다른 TD를 렌더링하는 것입니다. 좋아요 : ... grid.Column("PropertyName", "Header Name", style: (item) => (item.Property > 100) ? "bold" : "normal")) ....

하지만이 오류는 "최상의 오버로드 된 메서드 일치 ... 일부 잘못된 인수가 있습니다."라는 오류가 발생합니다.

가능한지 알고 싶습니다.

감사 .Jim Biddison

당신은 몇 가지 JQuery와 함께이 작업을 수행 할 수 있습니다

답변

5

:

물론
<script type='text/javascript'> 
    $(document).ready(function() { 
     jQuery.each($('tbody tr td'), function() { 
      if (this.textContent == "some value") { 
       $(this).addClass("some class"); 
      } 
     }); 
    }); 
</script> 

, 당신은 각 루프 내부의 논리를 수정해야 ...

희망이 도움이됩니다.

7

는 내가 가지 늦게 대답에있어 알아,하지만 누군가는 여전히 WebGrid 바인딩 조건부 형식화하는/열 값의 종류를 찾고 있다면 여기서 일하는 somehting입니다 : 내가하지

@grid.GetHtml(
    columns: grid.Columns(
     grid.Column(format: (item) => (item.someproperty !=null) ? 
     Html.Raw("I've got value") : 
     Html.Raw("I don't :(")) 
    ) 
) 
+1

이 조건부 텍스트가 아닌 조건부 서식/스타일이다가. 그가 스타일을 바꾸려고하는 것 같아. –

0

스타일 속성이 함수를 허용한다고 생각하십시오. 당신은 jQuery를 사용하거나 여기에 해킹 : Google 직원

Hack

0

의 Torm 응답의 개선 된 버전 :

@grid.GetHtml(
    columns: new[] 
    {  
     grid.Column(format:item => Html.Raw("<span" + (item.Property > 100 ? " style='bold'" : "") + ">" + item.Property + "</span>")), 
    } 
)