2010-12-20 28 views
7

ASP.NET MVC 3'te Webgrid ile koşullu biçimlendirme yapmak zaten var mı?ASP.NET MVC 3 WebGrid - Koşullu Sütun Biçimlendirme

Ben söyleyebiliriz biliyorum: ... grid.Column("PropertyName", "Header Name", style: "bold") ...

ve HTML verecek söylüyor TD için: class="bold".

İstediğim şey, bazı TD'leri bir stilde ve diğer TD'lerde başka bir stilde işlemektir. ... grid.Column("PropertyName", "Header Name", style: (item) => (item.Property > 100) ? "bold" : "normal")) ...

Ancak bu, "En çok aşırı yüklenmiş yöntem eşleşmesi ... geçersiz bazı bağımsız değişkenlere sahip" hatasına neden olur.

Bu mümkün mü?

Teşekkür .Jim Biddison

Bazı JQuery ile yapabilirsiniz

cevap

5

:

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

, her döngü içinde mantığı değiştirmek gerekecek ...

Umarım yardımcı olur.

7

Ben biraz geç cevap olduğumu biliyorum, ama birisi hala webgrid için bağlayıcı koşullu biçimlendirme/sütun değeri bu tür arıyorsa burada çalışan somehting var: I do not

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

bu koşullu metin değil, koşullu biçimlendirme/şekillendirme olduğunu. Sanırım stili değiştirmeye çalışıyor. –

0

stil özelliklerinin işlevleri kabul ettiğini düşünün. Sen jQuery kullanabilir veya burada kesmek: Google çalışanı için

Hack

0

, Torm cevap geliştirilmiş bir versiyonu:

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