2014-02-07 21 views
0
$('#PermissionGroupGrid').jtable({ 
     ajaxSettings: { 
      type: 'GET', 
      dataType: 'json' 
     }, 
     sorting: true, 
     paging: true, 
     useBootstrap: true, 
     pageSize: 5, 
     title: 'List of Permission Group', 
     actions: { 
      listAction: '/PermissionGroup/List', 
      deleteAction: '/PermissionGroup/Delete', 
      updateAction: '/PermissionGroup/Update', 
      createAction: '/PermissionGroup/Create' 
     }, 
     defaultSorting: 'PermissionGroupName ASC', 
     fields: { 
      Id: { 
       key: true, 
       create: false, 
       edit: false, 
       list: false 
      }, 
      Permissions: { 
       title: 'Permissions', 
       width: '5%', 
       sorting: false, 
       edit: false, 
       create: false, 
       display: function (permissionData) { 
        var $img = $('<img src="../../Images/list_metro.png" title="Assign Permissions" />'); 
        $img.click(function() { 
         console.log(permissionData); 
         console.table(permissionData); 
         $('#PermissionGroupGrid').jtable('openChildTable', 
           $img.closest('tr'), 
           { 
            ajaxSettings: { 
             type: 'GET', 
             dataType: 'json' 
            }, 
            title: permissionData.record.PermissionGroupName + ' - Permissions', 
            actions: { 
             listAction: '/Permission/ListPermission?PermissionGroupId=1', 
             deleteAction: '/Demo/DeleteExam', 
             updateAction: '/Demo/UpdateExam', 
             createAction: '/Demo/CreateExam' 
            }, 
            fields: { 
             PermissionGroupId: { 
              type: 'hidden', 
              defaultValue: permissionData.record.Id 
             }, 
             Id: { 
              key: true, 
              create: false, 
              edit: false, 
              list: false 
             }, 
             PermissionName: { 
              title: 'Permission Name' 
             } 
            } 
           }, function (data) { 
            data.childTable.jtable('load'); 
           }); 
        }); 

        return $img; 
       } 
      }, 
      PermissionGroupName: { 
       title: 'PermissionGroupTitle' 
      } 
     } 
    }); 

    $('#PermissionGroupGrid').jtable('load'); 

發送,子記錄的ID被在GET請求發送,但不是主記錄的ID。我完全按照jtable.org的演示。當console.log'permissionData.record.Id'我可以看到主記錄的ID。 FTR,Master和Child表的關鍵字列都有名稱'Id'。JTable的主記錄時,任何一個子記錄被請求更新ID不上孩子記錄的更新請求

有人可以提出一個解決方案嗎?

回答

0

基於jTable 2.4.0調試,defaultValue僅用於創建表單。如果您正在編輯現有項目記錄,請使用[fieldName]。在你的病例記錄[「PermissionGroupId」]中。這意味着您需要在您的子記錄對象中包含PermissionGroupId字段以使其工作。