2009-12-04 26 views
0

看看這個代碼:DataGrid和horizo​​ntalScrollPolicy

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" horizontalScrollPolicy="off"> 
    <mx:VBox horizontalScrollPolicy="on" width="100%"> 
     <mx:DataGrid> 
      <mx:columns> 
       <mx:DataGridColumn width="5000" /> 

      </mx:columns> 
     </mx:DataGrid> 
    </mx:VBox> 
</mx:Application> 

數據網格是我的屏幕的範圍之外,但滾動條也沒用.. 要告訴你我的意思是,看看這裏的編譯後的輸出: http://dl.dropbox.com/u/1663633/prova.swf

任何想法?當然這是一個簡單的例子,我的真實生活文件要複雜得多,滾動條必須在dataGrid周圍,而不是整個應用程序。

+0

你好朋友..你有沒有解決這個問題..你可以告訴我你是如何修復的.. – 2011-08-16 06:40:59

回答

1

問題是VBox大於Application,即使您設置了width="100%"。我不清楚它爲什麼(錯誤)的行爲如此,但是您可以通過在VBox上使用width="{width}"來強制其與應用程序的尺寸相同。

+0

不,同樣的事情發生與佈局設置爲垂直或水平.. 此外,application.width不會被編譯「訪問未定義的屬性應用程序。」 ?? – luca 2009-12-04 16:48:36

+0

你是對的,它似乎並不是因爲絕對的佈局。 我的意思是「Application.application.width」,或者在這種情況下只是「寬度」。 無論如何,顯式設置寬度的解決方法似乎工作。 (編輯答案。) – 2009-12-07 09:57:10

0

datagrid的佈局引擎無法處理比datagrid本身更寬的列。對於小於數據網格的列,您不會遇到此問題。

例如,如果DataGrid是500個像素寬,你有250個像素多列,你可以得到你正在尋找這樣的滾動方式:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="500" layout="absolute" horizontalScrollPolicy="off"> 
    <mx:VBox > 
     <mx:DataGrid width="500" horizontalScrollPolicy="on" > 
      <mx:columns> 
        <mx:DataGridColumn headerText="a" width="250" /> 
        <mx:DataGridColumn headerText="b" width="250" /> 
        <mx:DataGridColumn headerText="c" width="250" /> 
        <mx:DataGridColumn headerText="d" width="250" /> 
        <mx:DataGridColumn headerText="e" width="250" /> 
        <mx:DataGridColumn headerText="f" width="250" /> 

      </mx:columns> 
     </mx:DataGrid> 
    </mx:VBox> 
</mx:Application> 

這將在總甚至工作列的寬度大於數據網格。

+0

不!你爲dataGrid設置一個寬度!這是關鍵,它必須保持100%的寬度。如果你在我的例子中設置了它,它就可以工作。關於多列與一個大列的事情本身並沒有什麼區別。 – luca 2009-12-04 17:07:14

+0

同樣的東西去應用.. width =「100%」 – luca 2009-12-04 17:07:50

+0

我把500px寬度爲了強制滾動條,因爲我在1920px寬的顯示器上工作。只需將其更改爲100%即可適用於您的特定情況。它不會改變數據網格最小寬度應該至少與最大列一樣大的事實。也許datagrid不是你正在尋找的。您可能想要使用平鋪控件。 – jpgoulet 2009-12-04 17:42:38

相關問題