문제

표시되는 열과 각 열의 너비를 결정하기 위해 xml 데이터를 가져오고 있습니다.내 DataGrid의 너비는 HDividedBox의 한쪽에 있기 때문에 변경될 수 있습니다.가시성 부분은 작동하지만 너비를 설정하면 두통이 발생합니다.코드는 다음과 같습니다.

for(loop through column data retrieve from XML)
{ 
    newData[i] = dg.columns[Number(columnsOrder[i]) - 1];
    newData[i].visible = (Number(columnsVisibility[i]) == 1);
    newData[i].width = Number(columnsWidth[i]);
    trace(newData[i].headerText + " w:" + newData[i].width.toString() + " v:" + newData[i].visible.toString());
}
dg.columns = newData;
dg.invalidateList();

추적에서 처음 두 항목의 너비는 정확하지만 연속 항목에 대해서는 "20"으로 표시됩니다.

Date w:240 v:true
Title w:184 v:true
Requestor w:20 v:true
Approved By w:20 v:true
Category w:20 v:false
Status w:20 v:false
Priority w:20 v:false

Number(columnsWidth[i])를 출력하면 올바른 값으로 표시되므로 너비 할당에서 이상한 일이 발생합니다.

지금 몇 시간 동안 이 문제를 살펴봤고 문제를 해결하기 위해 여러 가지 방법을 시도했지만 소용이 없었습니다.

도움이 되었습니까?

해결책

내 Datagrid의 너비는 HDividedbox의 한쪽에서 Sinces를 변경할 수 있습니다.

그것이 바로 거기에 문제입니다.

Datagrid의 너비가 고정되지 않을 때마다 Flex 2와 Flex 3 DataGridColumn 너비에서 똑같은 문제에 직면했습니다. 내가 가진 유일한 해결책은 Datagrid의 너비를 고정하거나 AdvancedDatagrid 또는 기타 유사한 구성 요소로 전환하는 것이 었습니다.

다른 팁

나는 AdvancedDatagrid에서 같은 일을했고 그것은 작동합니다. 이 값을 설정하여 시도하십시오

  horizontalScrollPolicy="on"
  width="100%

그런 다음 열을 추가하면 hdividedbox에서 작동해야합니다.

이 작업을 수행할 수 있습니다. 저는 이것이 DataGrid 자체의 버그라고 생각합니다.

DataGrid에서 minWidth="0" 및 horizonScrollPolicy="{ScrollPolicy.AUTO}"를 설정하면 고정 너비의 DataGridColumn 객체를 생성하고 이를 올바르게 준수할 수 있습니다.

그러나 최종 열에는 여전히 문제가 있는 것 같습니다. DataGrid가 모든 고정 너비의 합보다 여전히 큰 경우 최종 DataGridColumn이 늘어납니다.

헤더 텍스트 등이 없는 빈 열을 끝에 추가하여 이 문제를 해결할 수 있습니다.

OK - 다양한 열 폭 모드에 대한 지원을 구축하면서 우리는 이것을 스스로 만났습니다. 약간의 정보만으로도 너비를 명시 적으로 설정하려면 다음과 같은 작업을 수행해야합니다.

var oldPolicy:String = grid.horizontalScrollPolicy;
grid.horizontalScrollPolicy ="on"
//set your widths here
grid.horizontalScrollPolicy =oldPolicy;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top