2013-08-23 67 views
0

我有腳本和樣式動態應用於webgrid中的列值。一切工作正常,直到我排序列,並且當類或樣式被刪除時。我已經盡我的_layout以及視圖代碼..Mvc webgrid排序清除DOM

<script type="text/javascript"> 
    $(document).ready(function() {    
     $("#tblWebGrid tr:not(:first)").each(function() {    
      var aptStatus = $(this).find("td:nth-child(9)").html();    
      if (aptStatus == 'Scheduled') {     
       $(this).find("td:nth-child(9)").addClass("clsGreen"); 
      } else {     
       $(this).find("td:nth-child(9)").addClass("clsRed"); 
      } 
     }); 
    });  
</script> 

<style type="text/css"> 
.clsGreen 
{ 
    color: Green; 
    font: bold 1em Arial, Helvetica, sans-serif; 
    text-align: center; 
    font-weight: bolder; 
    margin: 0 auto; 
    width: auto; 
} 
.clsRed 
{ 
    color: Red; 
    font: bold 1em Arial, Helvetica, sans-serif; 
    text-align: center; 
    font-weight: bolder; 
    margin:0 auto; 
    width:auto; 
} 

如何重新加載DOM和/或防止我的風格從動態標籤被剝離?

回答

2

你可以用,在一個單獨的功能應用樣式的代碼,然後傳遞給函數的名稱到的WebGrid的ajaxUpdateCallback參數:

<script> 
    function styleGrid(){ 
    $("#tblWebGrid tr:not(:first)").each(function() {    
      var aptStatus = $(this).find("td:nth-child(9)").html();    
      if (aptStatus == 'Scheduled') {     
       $(this).find("td:nth-child(9)").addClass("clsGreen"); 
      } else {     
       $(this).find("td:nth-child(9)").addClass("clsRed"); 
      } 
     }); 
    } 
    $(document).ready(function(){ 
     styleGrid(); 
    }) 
</script> 

然後在你的剃鬚刀塊:

var grid = new WebGrid(data, ajaxUpdateCallback: "styleGrid");