2016-09-02 9 views
0

2つのテキストボックス、ボタン、およびテーブルを持つアプリケーションをビルドします。ボタンを押すと、テキストボックスの内容からフィルタの配列が作成され、読み込み要求でoDataサービスに送信されます。今、1つのレコードが返されると(コンソールに表示されるように)、テーブルは更新されません。私は何が欠けていますか?SAPUI5:oData.readの後にテーブルの内容を更新する

これはテーブルです:

<Table id="PLTab" items="{/ORDSET}"> 
 
    <headerToolbar> 
 
    <Toolbar> 
 
     <Title text="Planned Orders" level="H2" /> 
 
    </Toolbar> 
 
    </headerToolbar> 
 
    <columns> 
 
    <Column> 
 
     <Text text="Product" /> 
 
    </Column> 
 
    <Column> 
 
     <Text text="Planned Order" /> 
 
    </Column> 
 
    <Column> 
 
     <Text text="Production Planner" /> 
 
    </Column> 
 
    </columns> 
 
    <items> 
 
    <ColumnListItem> 
 
     <cells> 
 
     <ObjectIdentifier title="{Maktx}" text="{Matnr}" /> 
 
     <Text text="{Ordno}" /> 
 
     <Text text="{Name}" /> 
 
     </cells> 
 
    </ColumnListItem> 
 
    </items> 
 
</Table>

そして、これは、コントローラの関連する部分である:

onInit: function() { 
 
    var oModel = this.getOwnerComponent().getModel("path"); 
 
    oModel.refresh(true); 
 
    this.getView().setModel(oModel); 
 
    }, 
 

 

 
    openOrders: function(oEvent) { 
 
    var PLFilters = []; 
 
    PLFilters.push(new sap.ui.model.Filter({ 
 
     path: "Matnr", 
 
     operator: sap.ui.model.FilterOperator.EQ, 
 
     value1: this.getView().byId("Product").getValue() 
 
    })); 
 
    PLFilters.push(new sap.ui.model.Filter({ 
 
     path: "Locno", 
 
     operator: sap.ui.model.FilterOperator.EQ, 
 
     value1: this.getView().byId("Location").getValue() 
 
    })); 
 

 

 
    var oModel = this.getOwnerComponent().getModel("path"); 
 
    oModel.read("/ORDSET", { 
 
     filters: PLFilters, 
 
     success: function(oData, oResponse) { 
 
     console.log(oData); 
 
     } 
 
    }); 
 
    }

よりKS &に関して、

マックス

答えて

0
var oModel = this.getOwnerComponent().getModel("path"); 

あなたがデータを読み取るために、「パス」という名前のモデルを使用していますが、あなたのXMLビューでは、デフォルトのモデル(名前)を使用します。

var oModel = this.getOwnerComponent().getModel(); 
に変更しよう
関連する問題