2017-08-24 22 views
0

我是Oracle Jet中的新成員。我想要實現的是在Oracle Jet Table中使用Rest Rest Webservices。在Oracle Jet中使用其他Web服務

這是我的ViewModel

function CustomerViewModel() { 
    var self = this; 

    self.DeptCol = ko.observable(); 
    self.datasource = ko.observable(); 

    self.serviceURL = '/hr/employees/'; 
    self.parseDept = function(response) { 
     return {empno: response['empno'], 
      DepartmentName: response['ename'], 
      LocationId: response['job'], 
      ManagerId: response['hiredate'], 
      mgr: response['mgr'], 
      sal: response['sal'], 
      comm: response['comm'], 
      deptno: response['deptno']}; 
    }; 
    self.Department = oj.Model.extend({ 
     urlRoot: self.serviceURL, 
     parse: self.parseDept, 
     idAttribute: 'empno' 
    }); 

    self.myDept = new self.Department(); 
    self.DeptCollection = oj.Collection.extend({ 
     url: self.serviceURL, 
     model: self.myDept 
    }); 

    self.DeptCol(new self.DeptCollection()); 
} 

這是我的看法

<table id="table" summary="Department List" aria-label="Departments Table" 
     data-bind="ojComponent:{ 
    component:'ojTable', 
    data:datasource, 
    columns:[ 
     { 
     headerText:'empno', 
     field:'empno' 
     }, 
     { 
     headerText:'ename', 
     field:'DepartmentName' 
     }, 
     { 
     headerText:'job', 
     field:'LocationId' 
     }, 
     { 
     headerText:'hiredate', 
     field:'ManagerId' 
     }, 
     { 
     headerText:'mgr', 
     field:'mgr' 
     }, 
     { 
     headerText:'sal', 
     field:'sal' 
     }, 
     { 
     headerText:'comm', 
     field:'comm' 
     }, 
     { 
     headerText:'deptno', 
     field:'deptno' 
     } 
    ] 
}"> 
</table> 

當我測試頁面,它不顯示任何錯誤和頁面是空白。有人可以幫忙嗎? 感謝

+0

有時會發生這種情況,因爲數據解析不正確。你能否顯示web服務響應? – Ray

+1

我不明白你如何把數據放入'datasource'中。一行可能會丟失, – Koshinae

+0

您的問題是否解決? – CodeWriter

回答

0

請檢查下面的教程here。 它有兩種情況:

  1. 標準jquery。
  2. Oracle Jet Common模型。

在您提供的示例中,您使用的是Oracle jet通用模型,該模型非常適用於Rest webservice上的CRUD操作。

我建議你也採取在標準的JQuery情況下,這是非常有用和易於使用的。

希望有所幫助。

0

在你的CustomerViewModel你可能錯過在實際設置datasource觀察到結束:

self.datasource(new oj.CollectionTableDataSource(self.DeptCol()));