2016-04-13 14 views
0

私は、検索を実行した後にデータが取得されない場合、「検索のためのデータが見つかりません」というメッセージを表示するdataboundメソッドを備えたグリッドを持っています。今、ラジオボタンを追加しました。ラジオボタンをクリックすると、グリッドから古いデータをクリアする必要があります。問題はグリッドをクリアするコード$(grid).data("kendoGrid").dataSource.data([]);を使用していますが、「検索でデータが見つかりません」というメッセージも表示されます。ユーザーは検索を実行せず、ラジオボタンだけを変更したので、グリッドにそのメッセージを表示するのは正しいとは思われません。だから、databoundメソッドを呼び出さずにグリッドをクリアする方法があるのだろうかと思っていました。データバインドされた関数を呼び出すdataboundメソッドを呼び出さずに剣道のグリッド行をクリアするには?

グリッドコード:

@(Html.Kendo().Grid<SearchModel>() 
      .Events(events => events.DataBound("gridDataBound")) 

データバインドコード:

function gridDataBound(e) { 
    var grid = e.sender; 
    var gridName = "#" + grid.table.context.id; 

    if (grid.dataSource.total() == 0) { 
      var colCount = grid.columns.length; 
      $(e.sender.wrapper) 
       .find('tbody') 
       .append('<tr class="kendo-data-row"><td colspan="' + colCount + '" class="no-data">No Records Meet Your Search Criteria.</td></tr>'); 
     } 
     $(gridName).find(".k-pager-wrap").hide(); 
}; 

感謝。

+0

autoBindをfalseに設定してみますか? – whipdancer

+0

@whipdancer私はそれを行うことはできません。 – sanjeev40084

答えて

0

e.preventDefault()dataBound機能に入れないと、これを行う方法はありません。あなたができることは、あなたのdataBound関数がメッセージを表示すべきかどうかをチェックするために使うブール値を作ることでしょうか?

+0

ブール値を渡すとはどういう意味ですか? – sanjeev40084

+0

ユーザがラジオボタンを変更すると、ブール値を変更する関数があります。これは、 'showMessage'をfalseにします。あなたの 'dataBound'関数は' if(showMessage) 'の中のすべてをラップし、' dataBound'の終わりでそれを真に戻します – philr

関連する問題