2016-05-11 8 views
0

グリッドにデータを入力する必要があるWebアプリケーションを作成しています。私はボタンを表示するグリッドのための新しいモーダルウィンドウを開くonClickメソッドで配線されています。私はコントローラにjqueryのポストコールを使用しています。しかし、私はjsonデータを取得してそれを変数に割り当てることができません。次のようにkendo jsを使用してグリッドにデータを入力する

私のコードは次のとおりです。

var grid_ds; 
$.post('${ctx}/class/student/details?studentId=${student.studentId}', function(data){ 




}, 'json'); 

$('#student_grid').kendoGrid({ 
dataSource: grid_ds, 
columns: [ 
{field: "studentName", title: "Student Name"}, 
{field: "studentClass", title: "Class"} 
], 
dataBound: function() { 
    emptyGrid($('#student_grid')); 
} 
}).data('kendoGrid'); 

私のコントローラはバックJSONを送信します。私はデータが来るのを見ることができます。 jsonデータをgrid_dsとstudent_gridに割り当てて、グリッドに値を入力する必要があります。

+0

グリッドの完全なコードを提供できますか? 'grid_ds'はどこで定義されていますか? 'emptyGrid'はどこに定義されていますか? – whipdancer

+0

Postを使ってデータを取得するのは良い方法ではありません.Getを使用すると、剣道データソースを直接的に使用することができます。 –

答えて

0

あなたはそうのようなカスタムtransport機能でkendo.data.DataSourceを使用して試みることができる:

$('#student_grid').kendoGrid({ 
    dataSource: dataSource = new kendo.data.DataSource({ 
     transport: { 
      read: function (e) { 
       $.post('${ctx}/class/student/details?studentId=${student.studentId}', 'json') 
        .done(function (data) { 
         e.success(data); 
        }); 
      } 
     } 
    }), 
    columns: [ 
     { 
      field: "studentName", 
      title: "Student Name" 
     }, 
     { 
      field: "studentClass", 
      title: "Class" 
     } 
    ]}); 

私は、問題は、あなたがデータをフェッチしているかとかもしれないと思います。 $.postは帯域外で動作するajaxコールであるため、.kendoGrid()関数に渡されたときにgrid_dsはおそらく未定義です。

kendo.ui.Gridの質問で指定したdataBound構成プロパティが見つかりませんでした。この設定がどこから来たのか知っていますか?

+0

まあ。それは私のためにはうまくいきませんでした。今はコントローラにも渡されませんでした。コールはコントローラ自体に行われませんでした。 – Sri

関連する問題