将片段的id转换为详细控制器

时间:2017-03-15 11:08:20

标签: data-binding sapui5

我正在使用sap web ide上的sap fiori Master-Detail应用程序。

我想基于我将从主视图中的列表中获得的ID来过滤我在详细视图上的表。该表的详细视图位于片段中。我创建了一个js函数来过滤细节控制器中的那个表,但我似乎没有片段中表的id。 这是我的详细控制器代码:

this._oView = this.getView();

this._oView.attachAfterRendering(function() {

       var sPath1 = "Qmnum";
       var sOperator1 = "EQ";
       var sValue1 = "10000000";
       var oFilter1 = new sap.ui.model.Filter(sPath1, sOperator1, sValue1);

       var oBinding = this.byId("tableid").getBinding("items");

        oBinding.filter(oFilter1);
          });

我也试过用这个

sap.ui.getCore().byId();

&安培;

this.getView().byId();

但仍未定义。

2 个答案:

答案 0 :(得分:0)

  

如果在XML视图中使用XML片段,则将视图ID设为   片段ID将允许在视图的控制器中调用this.byId(...)   检索片段内的控件。

var oFragment = sap.ui.xmlfragment(this.getView().getId(), "my.useful.VerySimpleUiPart" );

答案 1 :(得分:0)

初始化片段并将其附加到当前视图:

// Init fragment
var oFragment = sap.ui.xmlfragment("herePutJourneyToFragment.fragmentName", this.getView().getController());        

// Attach the fragment to the current view              
this.oView.addDependent(oFragment);

之后你应该能够在你看来找到这个表:

var oTable = this.byId("tableid");

EDITED 13:45 150317吼叫:

Tutorial