2017-03-09 4 views
0

を返さない場合、私は 空のdivレコードが剣道グリッドによって

$('#BrowseSchool').kendoGrid({ 
 
    columns: [{ 
 
    title: 'Name', 
 
    headerAttributes: { "data-field": 'Name', "data-title": 'Name' }, 
 
    field: 'Name', 
 
    encoded: true 
 
    }, { 
 
    title: 'City', 
 
    headerAttributes: { "data-field": 'City', "data-title": 'City' }, 
 
    field: 'City', 
 
    encoded: true 
 
    }, { 
 
    title: 'State', 
 
    headerAttributes: { "data-field": 'State', "data-title": 'State' }, 
 
    field: 'State', 
 
    encoded: true 
 
    }, { 
 
    title: 'Zip', 
 
    headerAttributes: { "data-field": 'Zip', "data-title": 'Zip' }, 
 
    field: 'Zip', 
 
    encoded: true 
 
    }], 
 
    pageable: { 
 
    buttonCount: 10 
 
    }, 
 
    sortable: true, 
 
    selectable: 'Single, Row', 
 
    filterable: true, 
 
    scrollable: { 
 
    height: '200px' 
 
    }, 
 
    messages: { 
 
    noRecords: 'No records available.' 
 

 
    }, 
 
    dataSource: { 
 
    type: (function() { 
 
     if (kendo.data.transports['aspnetmvc-ajax']) { 
 
     return 'aspnetmvc-ajax'; 
 
     } else { 
 
     throw new Error('The kendo.aspnetmvc.min.js script is not included.'); 
 
     } 
 
    })(), 
 
    transport: { 
 
     read: { 
 
     url: '/Student/Student_Read' 
 
     }, 
 
     prefix: '' 
 
    }, 
 
    pageSize: 10, 
 
    page: 1, 
 
    total: 0, 
 
    serverPaging: true, 
 
    serverSorting: true, 
 
    serverFiltering: true, 
 
    serverGrouping: true, 
 
    serverAggregates: true, 
 
    filter: [], 
 
    schema: { 
 
     data: 'Data', 
 
     total: 'Total', 
 
     errors: 'Errors', 
 
     model: { 
 
     fields: { 
 
      Address1: { type: 'string' }, 
 
      Name:  { type: 'string' }, 
 
      City:  { type: 'string' },           
 
      State: { type: 'string' }, 
 
      Zip:  { type: 'string' } 
 
      } 
 
     } 
 
     } 
 
    } 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://kendo.cdn.telerik.com/2016.2.504/js/kendo.all.min.js"></script> 
 
<link href="https://kendo.cdn.telerik.com/2016.2.504/styles/kendo.all.min.css" rel="stylesheet" /> 
 
<link href="https://kendo.cdn.telerik.com/2016.2.504/styles/kendo.default.min.css" rel="stylesheet" /> 
 
<link href="https://kendo.cdn.telerik.com/2016.2.504/styles/kendo.common.min.css" rel="stylesheet" /> 
 

 
<!-- I have div tag defined as below in my view, where the grid is loaded. --> 
 
<div id="BrowseSchool" class="browse"></div>

以下のように定義された剣道グリッドを持って欲しいです、私は剣道のグリッドがロードされ、別のdivを表示する内の私のdivを隠したい。私は以下のように私のグリッドにデータバインドされたイベントを追加しようとしている

:私は警告ボックスを取得していないよう

databound: function (e) { 
    alert("No Data"); 
    //var grid = $("#BrowseSchool").data("kendoGrid"); 
    //if (grid.dataSource.total() == 0) { 
    // alert("No Data"); 
    // $("#BrowseSchool").hide(); 
    //} 
},  

しかし、これは、動作していないようです。
私の質問は、剣道グリッドから返されたレコードがない場合、どのようにdivを隠すことができますか?

ありがとうございます!

EDIT - フィルタリングでレコードが返されない場合は、divを非表示にする必要があります。

+1

これはあなたが遊ぶことができる同様の例です:http://dojo.telerik.com/@Iliana/oQOxu –

+0

ありがとうございます。私は現在、dataBoundイベントを使用してdivを表示して表示することができます。 – Kristy

答えて

1
dataBound: function (e) { 
         var grid = e.sender; 
         var data = grid.dataSource.data(); 
         if (data.length === 0) { 
          $('#BrowseSchool').hide(); 
         } 
        }, 

これが私の問題を解決しました。

関連する問題