Вы столкнулись с одной из самых больших проблем DataGrid и AdvancedDataGrid. Я абсолютно ненавижу, как тяжело, чтобы содержимое ячеек выглядело комфортно. По непонятным причинам узкие значения поля появятся в очень широких ячейках, а широкий контент и заголовки будут сокращены.
Это особенно верно для первого и последнего столбцов по некоторым причинам.
Единственное решение, которое я нашел, это установить свойство minWidth для столбцов, и мне нужно сначала просмотреть данные, чтобы найти самые широкие выбросы в этих столбцах и убедиться, что они подходят удобно. Другое решение, которое помогает, состоит в том, чтобы фиктивные столбцы слева и справа имели ширину, minWidths и maxWidths очень небольшого размера, скажем 5, что, кажется, позволяет реальным столбцам в середине «дышать» немного лучше. 1005 *
<mx:columns>
<mx:DataGridColumn id="leftDummy" width="5" minWidth="5" maxWidth="5"/>
<!-- Your "real" columns here, with minWidth assignments -->
<mx:DataGridColumn id="rightDummy" width="5" minWidth="5" maxWidth="5"/>
</mxcolumns>
Будьте осторожны, хотя. Если вы задаете ширину столбца, он интерпретируется не как буквальное значение или фактический процент, а как некая половинная пропорция. Я могу только предположить, что процедуры определения размера столбцов устали рассчитывать и основываться на какой-то «разумной» интерпретации ширины столбцов - что, конечно, оказывается в большинстве случаев совершенно необоснованным.
В данный момент я так расстроен, что подумываю перейти на сторонний продукт, ElfGrid , который решает эти и многие другие проблемы. Посмотрите документацию, особенно ElfColumnUtils, в которой есть несколько очень удобных методов для решения этих проблем. Это также довольно быстро в тестировании, которое я сделал.