2017-03-13 12 views
0

私はDDVerticalLayoutの子コンポーネントで固定位置CssLayoutを持っています。私は、リストビューを作成するために、ユーザーのやりとりに基づいてこの垂直レイアウトに動的に値を設定しています。私はリストが表示された領域より大きくなると問題に遭遇します。それは正しくスクロールされますが、ドラッグは自動スクロールしません。私は、リストの一番下にある項目を選択し、ビューは一度に6つの項目を表示し、私はドラッグすることはできません場合、これは、例えばドラッグするユーザーが、スクロール、ドラッグ、スクロール、ドラッグ...ドラッグ時の自動スクロール - Vaadin DragDropアドオン

を強制的に一度に5つ以上のスペースがあります。ビューは、マウスのホバーに基づいて自動スクロールしません。子供DDVerticalLayout CSSと

Scroll Example

親CssLayout:CssLayoutクラス内

.list { 
    z-index: 9999; 
    position: fixed; 
    right: 1%; 
    top: 20%; 
    max-width: 25%; 
    max-height: 70%; 
    min-height: 150px; 

    .v-verticallayout { 
    background-color: #EEEEEE; 
    overflow-y: scroll; 
    overflow-x: hidden; 
    display: block; 
    margin-left: 6px; 
    margin-right: 6px; 
    max-height: 350px; 
    min-height: 100px; 
    border-radius: 4px; 
    border: 1px solid #d5d5d5; 
    } 
} 

DDVerticalLayoutセットアップ:

private final DDVerticalLayout layout = new DDVerticalLayout(); 
//... 
layout.setDragMode(LayoutDragMode.CLONE); 
layout.setSizeUndefined(); 
layout.setDropHandler(new DefaultVerticalLayoutDropHandler()  
     @Override 
     protected void handleComponentReordering(DragAndDropEvent event) { 
      super.handleComponentReordering(event); 
      //custom code omitted 
     } 
    }); 

私はVaadin v7.7.6のためdrag and drop add-on v1.3.2デベロッパーを使用しています。

+0

私自身はテストされていませんが、おそらくこれが役に立ちますか? https://vaadin.com/directory#!addon/dndscroll-add-on –

+0

アドオンは表やパネルのレイアウトにしか見えないようです。 – fakataha

答えて

2

その古いポストをしかし、他の誰かがこの問題に遭遇するために有用である可能性があります。 DNDScrollアドオンを使用するには、PanelでVerticalLayoutをラップする必要があります。このようなもの -

Panel panel = new Panel(); 
panel.setContent(content); 
panel.setHeight(200, Unit.PIXELS); //optional - could be setSizeFull(); 
PanelAutoScrollExtension extension = new PanelAutoScrollExtension(); 
extension.extend(panel); 
関連する問題