2012-10-08 2 views
0
ListGrid listGrid = new ListGrid(); 

listGrid.setWidth100(); 

listGrid.setFields(f1, f2); 
vlayout.addMember(listGrid); 

listGrid.setAutoFitFieldsFillViewport(false); 
listGrid.setAutoFitFieldWidths(false); 
listGrid.setCanAutoFitFields(false); 

ListGridField[] listGridFields = listGrid.getFields(); 
for (ListGridField listGridField : listGridFields) { 
    listGridField.setAutoFitWidth(true); 
} 

이 줄이 있지만 listGrid를 배치 한 창의 크기를 조정할 때 필드의 크기가 조정되지 않고 새 너비에 맞지 않습니다.ListGrid 열 자동 맞춤 레이아웃

누군가가이 목록의 필드 폭을 넓히는 데 도움을 줄 수 있습니까? 내가 이것을 넣으면

다음 : 내가 처음에 창 크기를 조정할 때

ListGridField[] listGridFields = listGrid.getFields(); 
for (ListGridField listGridField : listGridFields) { 
    listGridField.setWidth("100%"); 
} 

이 문제를 해결. 그러나 필드 크기를 조정하면 listGrid의 마지막 필드와 경계 사이의 오른쪽에 간격이 생깁니다.

해결 방법이 있습니까?

요약 :
는 listGrid가 atomatically 윈도우의 크기 조정과 크기를 만들 수있는 방법이 있습니까?
listGrid의 필드를 항상 부모의 너비에 맞는 listGrid의 크기에 맞출 수있는 방법이 있습니까? http://jsfiddle.net/lnplnp/kJLGd/

답변

0

마지막으로 내가 listGridField.setWidth("100%");

시도했다 그래서 답은 수정 폭에 적어도 하나의 필드를 지정

ListGridField[] listGridFields = listGrid.getFields(); 
for (ListGridField listGridField : listGridFields) { 
    listGridField.setWidth("100%"); 
} 
listGrid.getField("FIELDNAME").setWidth(30); 

, 내 기대에 응답합니다.

대부분의 경우 작동하지만 때로는이 방법이 올바르게 작동하지 않을 수 있습니다. 나는 정확한 상황을 설명 할 수 없다. 나는 그것이 작동하지 않는 것을 발견하면이 응답을 편집 할 것입니다.

1
listGrid.setWidth("100%"); 

는 당신이 봤어 :


는이 결과를 가질 수인가요? 창이 채워지지 않으면 부모 제약 조건을 확인하십시오.

+0

나는 이것을 가지고있다 : "listGrid.setWidth100();" 그 맞습니까 ? 그리고 "setWidth ("100 % ")"라고 생각합니다. – Manu

+0

이제 답을 수정했습니다. setWidth100은 API에 따라 동일합니다. 이 경우 listGrid는 부모 위젯/요소에 의해 제한 될 가능성이 큽니다. 이 상황에서 Chrome 디버깅 유틸리티가 도움이된다는 사실을 알게되면 고정 폭의 요소를 빠르게 찾을 수 있습니다. DOM을 검사하려면 12를 누릅니다. – LoneWolf

+0

사실, 필드 너비가 창의 크기 조정을 따르길 원합니다. listGrid의 너비는 맞지 않지만 너비는 표시되지 않습니다. – Manu