2017-09-21 10 views
0

は、ODataに接続された応答テーブルからユーザのカラムを隠す方法があります。ユーザーが設定ボタンから列を選択できるので、今はsetVisible(false)を気にしていません。したがって、設定で選択する列を設定するか、永久に非表示にする(メタデータから削除する)方法がありますか?私はCDS View @ UI.hideの注釈も試しましたが、残念ながらこれは機能しません。SAPUI5 SmartTable(sap.m.Table)隠蔽カラム

+0

どのコントロールを使用しますか? sap.m.Tableは「レスポンシブテーブル」と呼ばれ、注釈を認識しない「スマート」ではありません。 sap.ui.comp.smarttable.SmartTableはアノテーションを認識しています。 スマートテーブルのSDKには、このコントロールで使用されるアノテーションへの参照があります。 "FieldControlType"を確認してください。 –

+0

私はSmartTableを使用しています。タイプはResponsiveですので、基になるテーブルはsap.m.Tableです。私はそれを変更したくないのですが、設定から列/フィールドを無効にして、ユーザーがそれを選択してテーブルに表示できないようにしたいと考えています。 ABAPテーブルとALVテーブルでは、これをレイアウトの中で選択することができないように「技術的な」列として設定します。 – Kubas

+0

最後の2つの文章を確認してください。 スマートテーブルのSDKには、このコントロールで使用される注釈への参照があります。 "FieldControlType"をチェックしてください。 –

答えて

1

のparam ignoreFromPersonalizationのかどうかを決定することを可能にノー・タイムで働いてもらう必要がありますユーザーは表の列を選択して表示することができます(下の例では、column1とcolumn2はパーソナライゼーション・ダイアログでは選択できません)。

<smartTable:SmartTable 
    id="tblOverview" 
    (...) 
    ignoreFromPersonalisation="column1,column2">    

この問題が発生している方にお勧めします。

0

列の集約を、選択したモデルプロパティ(たとえば、カスタムメタデータモデル)にバインドすることができます。カスタムモデルは、好きなように定義して更新できます。

メタデータモデルが更新されるたびにテーブルが自動的に更新されます。

コードは、あなたの意見は、JS/XMLビューを使用するかどうかに依存しますが、ビューのあなたのタイプのための結合集約を見れば、あなたはそれが

+0

スマートテーブルのignoreFromPersonalization設定を使用して列を無効にすることができました。 – Kubas

+0

うれしいことにそれを解決しました –

関連する問題