2016-06-17 21 views
0

垂直レイアウトの高さを動的に設定する必要があります。私のページは高さ100pxのヘッダーイメージを持ち、残りの高さ26pxのタブがメインコンテンツです。私はApp.controller.jsに次のコードを書いています。それは、エラーSAPUI5のコントローラにCSSを動的に追加する方法

は "thisView.setHeightは関数ではありません" と表示さ

// tab_layt is the id of vertical layout var thisView = this.getView().byId("tab_layt"); var height = jQuery(window).height() - (jQuery(".header").height() + jQuery(".tab").height()); thisView.setHeight(height);

に動作しません。

答えて

1

sap.ui.layout.VerticalLayoutにはheightというプロパティがありません。

レイアウトの高さは子要素の高さに自動的に揃えられます。 ただし、カスタムCSSクラスを使用して上書きすることはできますが、実際にはお勧めできません。

thisView.addStyleClass("nameOfTheCssClass"); 

それとも、画面全体を埋めるために子要素のサイズを変更することができます - これは、レイアウト自体のサイズを変更します。たとえば、テーブルを使用している場合、外部レイアウトの代わりにテーブルのheightプロパティを設定できます。

(あなたがレイアウトに参照している場合は、変数名thisViewは、あなたがあなた自身のコードを理解しようとしているとき、後でそれが誤解を引き起こす可能性があり、最高ではありません)

+0

感謝!!適切な命名規則を使用するようにします。私は長いフォームと画面に収まらないので、スクロール可能なレイアウトを作ろうと考えました。また、ページネーションを持つデータがあまりありません。レイアウトをスクロール可能にする他のソリューション? – Hari

+0

視覚化したいデータによって異なります。リスト、テーブルにはスクロールバーが含まれています。 ''集約の要素にさらにスペースが必要な場合、Pageオブジェクトにはスクロールバーも含まれます。 – nistv4n

+0

タグがタグ内にないため、スクロールバーが非表示になっていました。あなたが言ったように、これらのタグを追加しました。データに応じてスクロールバーが表示されます。あなたのアドバイスをありがとう! – Hari

関連する問題