Bạn đã nhấn vào một trong những vấn đề lớn nhất của DataGrid và AdvancedDataGrid. Tôi hoàn toàn ghét làm thế nào cứng là để có được nội dung di động để xuất hiện thoải mái. Vì các lý do không rõ ràng ngay lập tức, các giá trị trường hẹp sẽ xuất hiện trong các ô rất rộng trong khi nội dung rộng và các tiêu đề sẽ bị thu hẹp.
Điều này đặc biệt đúng đối với cột đầu tiên và cột cuối cùng vì một số lý do.
Giải pháp duy nhất tôi tìm thấy là đặt thuộc tính minWidth trên cột và trước tiên tôi phải đi qua dữ liệu để tìm các ngoại lệ rộng nhất trong các cột đó và đảm bảo chúng phù hợp một cách thoải mái. Một giải pháp khác giúp là có các cột giả ở bên trái và bên phải có độ rộng và minWidth và maxWidth của một số kích thước rất nhỏ, nói 5, có vẻ như cho phép các cột thực ở giữa để "thở" tốt hơn một chút.
<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>
Hãy cẩn thận, mặc dù vậy. Nếu bạn đặt chiều rộng trên cột, nó được hiểu không phải là giá trị bằng chữ hoặc tỷ lệ phần trăm thực tế nhưng dưới dạng một số loại tỷ lệ được phân nửa. Tôi chỉ có thể giả định rằng các quy trình định cỡ cột bị mệt mỏi khi tính toán và giải quyết trên một số loại giải thích "hợp lý" về chiều rộng cột - mà, tất nhiên, hóa ra là hoàn toàn không hợp lý phần lớn thời gian.
Tại thời điểm này, tôi rất thất vọng Tôi đang xem xét việc mua sản phẩm của bên thứ 3, ElfGrid, giải quyết những vấn đề này và hơn thế nữa. Xem tài liệu, đặc biệt là ElfColumnUtils, có một số phương pháp rất hữu ích để xử lý các vấn đề này. Nó cũng khá nhanh trong thử nghiệm tôi đã làm.
Giải pháp đó không giúp nếu văn bản là một từ hoặc giá trị số, sẽ không bao bọc, hoặc trong trường hợp của một số định dạng (nói 2.300.152) nó sẽ bọc không phù hợp tại dấu phẩy. – Robusto