내 프로젝트에서 부트 스트랩 gtreetable을 구현했습니다. 모든 것이 잘 작동하지만 노드를 삭제하는 데 문제가 있습니다. 모든 bootstrap-gtreetable.js 및 bootstrap-gtreetable.min.js가 제자리에 있습니다. 작업 파일을 만들고 업데이트하지만 삭제 만 작동하지 않으며 콘솔에 오류가 발생하지 않습니다. 내 코드는 다음과 같습니다. gtreetable 초기화를위한 내 jquery 코드는 다음과 같습니다.
$(document).ready(function () {
jQuery('#gtreetable').gtreetable({
'source': function (id) {
return {
type: 'GET',
url: 'GetCategories',
data: { 'id': id },
dataType: 'json',
error: function (XMLHttpRequest) {
alert(XMLHttpRequest.status + ': ' + XMLHttpRequest.responseText);
}
}
},
"onSave": function (oNode) {
if( oNode.getName().length>0)
return {
type: 'POST',
url: !oNode.isSaved() ? 'CreateCategory' : '/Category/UpdateCategory/?id=' + oNode.getId(),
data: {
parent: oNode.getParent(),
name: oNode.getName(),
position: oNode.getInsertPosition(),
related: oNode.getRelatedNodeId()
},
dataType: 'json',
error: function (XMLHttpRequest) {
alert(XMLHttpRequest.status + ': ' + XMLHttpRequest.responseText);
}
};
window.location.refresh();
},
"onDelete": function (oNode) {
return {
type: 'POST',
url: '/Category/DeleteCategory/?id=' + oNode.getId(),
dataType: 'json',
error: function(XMLHttpRequest) {
alert(XMLHttpRequest.status+': '+XMLHttpRequest.responseText);
}
};
},
"selectLimit": 0,
"showExpandIconOnEmpty": false,
"language": "en-US",
"manyroots": false,
"draggable": false,
"inputWidth": "300px",
'types': {
'folder': 'glyphicon glyphicon-tasks',
'default': 'glyphicon glyphicon-dashboard'
},
"defaultActions": [
{
name: 'Create Category',
event: function (oNode, oManager) {
oNode.add('lastChild', 'default');
}
},
{
divider: true
},
{
name: 'Update',
event: function (oNode, oManager) {
oNode.makeEditable();
}
},
{
divider: true
},
{
name: 'Delete',
event: function (oNode,oManager) {
oNode.onDelete;
}
},
{
divider: true
}
]
});
});
노드를 삭제하는 내 서버 측 코드는 다음과 같습니다.
[HttpPost]
public virtual JsonResult DeleteCategory(int id)
{
var category = _categoryService.DeleteCategory(id);
return Json(category, JsonRequestBehavior.AllowGet);
}
gtreetable.js를 수정해야하는 문제를 발견했습니다. 원래 코드는 다음과 같습니다.
languages: {
'en-US': {
save: 'Save',
cancel: 'Cancel',
action: 'Action',
actions: {
createBefore: 'Create before',
createAfter: 'Create after',
createFirstChild: 'Create first child',
createLastChild: 'Create last child',
update: 'Update',
'delete': 'Delete'
},
messages: {
onDelete: 'Are you sure?',
onNewRootNotAllowed: 'Adding the now node as root is not allowed.',
onMoveInDescendant: 'The target node should not be descendant.',
onMoveAsRoot: 'The target node should not be root.'
}
}
},
제거 할 작업 속성에서 '삭제'를 변경했는데 제대로 작동합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다