1

私はそよ風に慣れていないので、次のコードを使用してエンティティを削除しようとしています:

export var deleteRow= function (selectedRow) {
   isDeleting(true);
   selectedRow.entityAspect.setDeleted();
   (<any>datacontext).saveChanges()
       .done(
        function () {
           router.replaceLocation(listUrl);
         })
       .fail(saveFailed);
    //}
  isDeleting(false);
};

データコンテキストは次のとおりです。

 export var saveChanges = function () {
    return manager.saveChanges()
        .then(saveSucceeded)
        .fail(saveFailed);

    function saveSucceeded(saveResult) {
            log('Saved data successfully', saveResult, true);
    }

    function saveFailed(error) {
        var msg = 'Save failed: ' + getErrorMessages(error);
        logError(msg, error);
        error.message = msg;
        throw error;
    }
};

エラーは次の行で発生しました:

selectedRow.entityAspect.setDeleted();

ログ(クロムコンソール)は次のことを伝えます:

「キャッチされないエラー: バインディングを解析できません。メッセージ: TypeError: null のメソッド 'dictionary' を呼び出せません。バインディング値: テキスト: row.assessmentType().dictionary().name」

コレクション内の行を識別するためにマークアップで使用されるエイリアスであるオブジェクト行:

 <!-- ko foreach: { data: assessmentRegistrations(), as: 'row' }-->
                    <tr data-bind="css: { koAssumptionGridViewRow: true }, style: { color: 'inherit' }">                                   
                        <td><small data-bind="text: row.toShortDate"></small></td>
                        <td><small data-bind="text: row.fishgroup().fishgroupName"></small></td>
                        <td><small data-bind="text: row.assessmentType().dictionary().name"></small></td>                                   
                        <td><small data-bind="text: row.site().name"></small></td>
                        <td><small data-bind="text: row.site().name"></small></td>                                      
                        <td></td>                                  
                        <td><small data-bind="text: row.assessmentFollowUpStatus().dictionary().name"></small></td>                           
                    </tr>

どんな助けでも感謝しています:)

4

1 に答える 1