2016-03-23 11 views
0

私は剣道mvcグリッドを持っていて、クライアントテンプレートを列として使用しています。スクリプトブロックを返すためにテンプレートにjavascript関数を書きましたが、動作していないようです。私もスクリプトを直接クライアントテンプレートに書き込もうとしましたが、そのスクリプトも機能しません。剣道mvc Grid ClientTemplate javascript関数が動作しない

//クライアントテンプレートのHTML

.Columns(columns => 
    { 

    columns.Template(e => 
    { }).ClientTemplate(

     "<div class='table-responsive'>" + 
       "<table border='0' class='table' >" + 

       ...................................     

       "</table>" + 
     "</div>"+ 
      "#=AlignDiv(Id)#" 
         ); 
     }) 

// javascript関数形式にするために、文字列として

 <script type="text/javascript"> 
     function AlignDiv(Id) { 
     var result = "<script> $('.calDiv"+Id+"').map(function() {" + 
      "return $(this).Height();" + 
     "}).get()," + 
     "maxHeight = Math.max.apply(null, heights);" + 
     "$('.calDiv" + Id + "').height(maxHeight);" + 
     "alert('test')<\/script>"; 
     return result; 
    } 

どうもありがとう、 デニス

答えて

0

をスクリプトブロックを返します条件付きで選択したアクションを使用して、剣道グリッドの列の値を以下の適切な例の1つを使用することができます。詳細については、以下のJavascriptのためHow Do I Have Conditional Logic in a Column Client Template?


UI:MVCのための

{ 
    field: "EmployeeName", type: "string", width: "55px", title: "Employee Name", 
      template: "#= GetEditTemplate(data) #" 
} 


UI:

... 
columns.Bound(t => t.EmployeeName) 
.Title("Status Name") 
.Template(@<text></text>) 
.ClientTemplate("#= GetEditTemplate(data)#").Width("55px"); 
... 


JavaScriptメソッド:

<script> 
//Change the color of the cell value according to the given condition 
function GetEditTemplate(data) { 
    var html; 

    if (data.StatusID == 1) { 
     html = kendo.format(
     //"<a class=\"k-button\" href='" + '@Url.Action("Edit1", "Controller")' + "/{0}" + " '>Edit</a> ", 
     "<span class='text-success'>" + 
     data.EmployeeName 
     + "</span>" 
     ); 
    } 
    else { 
     html = kendo.format(
     //"<a class=\"k-button\" href='" + '@Url.Action("Edit2", "Controller")' + "/{0}" + " '>Edit</a> ", 
     "<span class='text-danger'>Cancel</span>" 
     ); 
    } 
    return html; 
} 
</script> 

...この情報がお役に立てば幸いです