0

kendoGridをバックボーンビューに統合しようとしています。これは私のビューコードです。

App.Views.UsersManager = Backbone.View.extend({
  tagName: 'section',
  id: 'users-manager',
  className: 'tile',
  template: Handlebars.compile($('#profile-usersManager-template').html()),
  render: function () {
    console.log('usersManager.render -> collection', this.collection);
    var self = this;
    this.$el.html(this.template());
    var dataSource = new kendo.data.DataSource({
      transport: {
        read: {
          url: '/users',
          type: 'GET',
          dataType: 'json'
        },
        update: {
          url: '/users',
          type: 'PUT',
          dataType: 'json'
        }
      },
      schema: {
        data: 'data'
      },
      batch: true
    });
    this.$('table.users-manager').kendoGrid({
      scrollable: false,
      sortable: true,
      dataSource: dataSource,
      toolbar: ["save"],
      editable: true,
      navigatable: true,
      // filterable: true,
    });
    return this;
  }
});

ビューは正しくレンダリングされ、kendoGridはSlimPHPフレームワークからユーザーデータを正しく取得しますが、グリッドの要素を変更して「ツールバー:["保存"]」が提供する[変更を保存]ボタンを押すと、何も表示されません私のfirebugコンソールでも起こります...サーバー通信はまったくありません。

私は剣道(そしてバックボーンも)の開発に不慣れです、多分私は構文で何かを失敗していますか?:立ち往生:

Atanas Korchevが回答した後に更新します 。これは、更新された私のデータソースです。

var dataSource = new kendo.data.DataSource({
  transport: {
    read: {
      url: '/users',
      type: 'GET',
      dataType: 'json'
    },
    update: {
      url: '/users',
      type: 'PUT',
      dataType: 'json'
    }
  },
  schema: {
    data: 'data',
    model: {
      id: 'id',
      fields: {
        email: {},
        name: {},
        surname: {},
        rank: {},
        type: {}
      }
    }
  },
  batch: true
});

それは私の問題を解決しません、私は私のphpコードが実際にそのように見えることに気づきたいです:

$app->put('/users', function () use ($app, $db) {
  exit('put ok');
});

クライアント/サーバー通信が機能するかどうかを確認するだけです...エラーになることはわかっていますが、[変更を保存]ボタンにイベントがないなど、ファイアバグエラーも表示されません...(試してみますデニスロンゴの提案..しかし、私は解決策だとは思わない...)

私の悪い英語でごめんなさい

4

2 に答える 2

0

スキーマ オブジェクトから data: 'data' を削除することで解決、kendoGrid 一括編集のリンクがあります。

于 2013-02-05T04:20:25.773 に答える