私はそよ風に慣れていないので、次のコードを使用してエンティティを削除しようとしています:
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>
どんな助けでも感謝しています:)