Сетка пользовательского интерфейса кендо дает сбой после обновления связанных данных

Я использую нокаут-кендо и вот мой код: разметка:

<body>
<div id="mursi"
     data-bind="kendoGrid:{ dataSource:{data:selectedAsset().RealEstateAssetBlockParcel ,pageSize:3} ,data:selectedAsset().RealEstateAssetBlockParcel, pageable: true,pageSize:5,sortable:true,scrollable:false,selectable:true,columns:[{title:'parcel'},{title:'plot'},{title:'subplot'},{ width:60},{ width:60}] ,rowTemplate: 'rowParcelTmpl', altRowTemplate: 'altParcelTmpl', useKOTemplates: true }"></div>

<button data-bind="replaceSelectedAsset">click me</button>

<script id="rowParcelTmpl" type="text/html">
    <tr>
        <td>
            <div data-bind="text:Block"></div>
        </td>
        <td>
            <div data-bind="text:Plot"></div>
        </td>
        <td>
            <div data-bind="text:SubPlot"></div>
        </td>
        <td>
            <button class="k-button"><span class="update-button"></span></button>
        </td>
        <td>
            <button class="k-button"><span class="remove-button"></span></button>
        </td>
    </tr>
</script>
<script id="altParcelTmpl" type="text/html">
    <tr class="k-alt">
        <td>
            <div data-bind="text:Block"></div>
        </td>
        <td>
            <div data-bind="text:Plot"></div>
        </td>
        <td>
            <div data-bind="text:SubPlot"></div>
        </td>
        <td>
            <button class="k-button"><span class="update-button"></span></button>
        </td>
        ><span class="remove-button"></span></button></td>
    </tr>
</script>
</body>

вот мой JS:

var selectedAsset = ko.observable();
//viewmodels
var assetViewModel = function () {
    this.RealEstateAssetBlockParcel = ko.observableArray([]);
};
var asset = new assetViewModel();
asset.RealEstateAssetBlockParcel.push({Block: 1, Plot: 2, SubPlot: 3, Id: 0});
selectedAsset(asset);
var replaceSelectedAsset = function () {
    selectedAsset(asset);
};
ko.applyBindings();

все в порядке, пока вы не нажмете кнопку «щелкнуть меня», которая предполагает выбор другого актива и отображение сетки его участков. Вместо этого я получил следующую ошибку: «Uncaught TypeError: Cannot call method 'find' of undefined» (которая возникла в кендо. веб.все)

http://jsbin.com/oboxig/3/edit Будем признательны за помощь. Спасибо.


person happyZZR1400    schedule 07.01.2013    source источник


Ответы (1)


То, что я вижу в вашем JSBin, это ошибка в data-bind из button.

Не могли бы вы попробовать:

function replaceSelectedAsset () {
    selectedAsset(asset);
};

и определите button как:

<button onclick="replaceSelectedAsset()">click me</button>
person OnaBai    schedule 07.01.2013
comment
Извините, я имел в виду ‹button data-bind=click:replaceSelectedAsset›click me‹/button› - person happyZZR1400; 07.01.2013
comment
Но вы заставляете меня заметить одну важную вещь: моя версия kendo.all.min.js не последняя, ​​я обновил ее до последней версии, и ошибка исчезла. большое спасибо!!!! - person happyZZR1400; 07.01.2013