2012-10-12 1 views
0

그리드가 있으며 링크 2 개 바로 앞에 추가해야합니다. 그것들은 동일하며 그리드의 위와 아래에서 모두 볼 수 있어야합니다. 저는 이것을 ToolStrip에 넣고 ToolStrip을 VLayout의 멤버로 두 번 추가했습니다. 것은 ToolStrip이 두 번 추가되었지만 링크의 몇 개가 아래에서만 보이거나 두 번째 ToolStrip에만 추가된다는 것입니다. 나는 무엇을 잘못 했는가? 코드는 다음과 같습니다.SmartGWT 레이아웃에 동일한 멤버를 여러 번 추가하십시오.

import com.google.gwt.core.client.GWT; 
import com.smartgwt.client.types.Alignment; 
import com.smartgwt.client.types.VerticalAlignment; 
import com.smartgwt.client.widgets.form.DynamicForm; 
import com.smartgwt.client.widgets.form.fields.LinkItem; 
import com.smartgwt.client.widgets.form.fields.StaticTextItem; 
import com.smartgwt.client.widgets.grid.ListGrid; 
import com.smartgwt.client.widgets.layout.VLayout; 
import com.smartgwt.client.widgets.toolbar.ToolStrip; 
import com.smartgwt.client.widgets.toolbar.ToolStripButton; 

final VLayout container = new VLayout(10); 
    container.setAlign(VerticalAlignment.CENTER); 

    final DynamicForm someForm1 = new DynamicForm(); 
    // some form with text 

    final DynamicForm someForm2 = new DynamicForm(); 
    // some other form with text 

    final VLayout grid = new VLayout(0); 
    grid.setWidth100(); 

    final DynamicForm linksForm = new DynamicForm(); 
    linksForm.setWidth100(); 
    linksForm.setHeight(20); 
    linksForm.setNumCols(2); 

    final LinkItem linkOne = new LinkItem(); 
    linkOne.setShowTitle(false); 
    linkOne.setValue("Click1"); 
    linkOne.setTextAlign(Alignment.RIGHT); 

    final LinkItem linkTwo = new LinkItem(); 
    linkTwo.setShowTitle(false); 
    linkTwo.setValue("Click2"); 
    linkTwo.setTextAlign(Alignment.RIGHT); 

    linksForm.setFields(linkOne, linkTwo); 

    final ToolStrip linksToolStrip = new ToolStrip(); 
    linksToolStrip.setWidth100(); 
    linksToolStrip.setAlign(VerticalAlignment.CENTER); 
    linksToolStrip.addMember(linksForm); 

    final ListGrid results = new ListGrid(); 
    // height, width, dataSource for ListGrid results, etc. 

    grid.addMember(linksToolStrip, 0); 
    grid.addMember(results, 1); 
    grid.addMember(linksToolStrip, 2); 

    container.setMembers(someForm1, grid, someForm2); 

대단히 감사합니다.

답변

1

위젯을 두 번 추가 할 수 없습니다. 그리드를 할 때 회원을 추가 할 때 링크에 대한 참조와 회원 목록의 위치를 ​​가져 오면 처음으로 위치가 0이고 2로 변경됩니다. 두번째. 링크 인스턴스가 두 개 필요합니다. 당신도 볼 수 있습니다 here