2016-09-09 6 views
0

レイアウト 'hbox'を使用してExt.Panelを作成し、4つの子を追加し、同じストアを持つツリーグリッドを追加しました。ヘッダーではなくグリッドの内容のみをスクロールします。私は含まれているパネルのオプションを検索し、スクロール可能なオプションはレイアウト全体をスクロールするので、オプションの水平スクロールバーは表示されなくなります。誰かが私にどこから始めるべきか、この単一の垂直スクロールバーを達成するために使用するオプション/コンポーネントのヒントを与えることができますか?他の4つのコンポーネントを含むExtJSパネルに垂直スクロールバーを追加する

同じ店舗で同じパネルに4つのツリーグリッドを配置するのはなぜですか?最後のものはBryntum Ganttコンポーネントです。最初のグリッドの最初の列は、項目が長すぎるときに水平にスクロールする必要があり、セルに省略記号のCSSプロパティを使用したくない場合。そして時々、ガントを別のグリッドに切り替える必要があります。また、2番目のツリーには日付の列しかなく、ガントや他の子が可視性を切り替えるたびにロックする必要があります。

私はExtJS 6.0.1 Classicを使用しています。事前

答えて

1

おかげであなたは、ヘッダーを維持したいので、あなたは、パネルのスクロールを使用することはできません。代わりに、グリッドのスクロールバーの間の相互協力関係を作成する必要があります。これはas per the docs、同期に滞在するためにそれらを強制的に

Ext.each(grids,function(grid) { 
    if(grid.normalGrid) grid = grid.normalGrid; // Use the normal subgrid of a grid with locked columns. 
    Ext.each(grids,function(partner) { 
     if(partner.normalGrid) partner = partner.normalGrid; // Use the normal subgrid of a grid with locked columns. 
     if(grid != partner) grid.getView().getScrollable().addPartner(partner.getView().getScrollable(), "y"); // "y" tells the scrollable that the partnership is only regarding y axis. 
    }); 
}); 

+0

問題があります。グリッドをいくつかの中間点にスクロールすると仮定しましょう。 Ganttで詳細ペインを切り替えると、新しい公開グリッドにはscrollYが0に設定されます。グリッドが表示されていなくてもスクロールする方法はありますか? – pictoru

+0

私の頭の上から、このようなもので十分であるはずです: 'somegrid.on( 'show'、function(){somegrid.getScroller()。scrollTo({y:someOtherGrid.getScroller()。getPosition()。y} ) 'show/hideの代わりにカードレイアウトを使用した場合、' show'イベントではなく 'activate'です。 – Alexander

+0

完璧で完璧です。' getScroller() '関数にいくつかのエラーがありました。何か、私のExtバージョンでは代わりに 'somegrid.getView()。getScrollY()'を使用しましたが、最終的には魅力のように動作します。 – pictoru

関連する問題