2013-06-26 77 views
1

我有一個的DevExpress網格是這樣的:基本自動調整功能無法使用的DevExpress GridControl.View

 <dxg:GridControl ItemsSource="{Binding CarsData}" 
         AutoPopulateColumns="True" 
         ScrollViewer.HorizontalScrollBarVisibility="Auto"> 
      <dxg:GridControl.View> 
       <dxg:TableView Style="{StaticResource DxTableViewStyle}"/> 
      </dxg:GridControl.View> 
      <dxg:GridControl.Columns> 
       <dxg:GridColumn Header="Car Name" FieldName="CarName" ReadOnly="False" /> 
       <dxg:GridColumn Header="Brand Name" FieldName="BrandName" ReadOnly="True"/> 
      </dxg:GridControl.Columns> 
     </dxg:GridControl> 

該網格內嵌到另一個容器與固定寬度一個

我想做些什麼simpel,但無法找到如何做到這一點,即:

  • 列自動調整其內容和標題。
  • 如果列的寬度比網格的容器寬,顯示水平滾動條
  • 對於某些列,請設置最大寬度。

這是我的風格,就像我想我不能讓工作:

<Style TargetType="dxg:TableView" x:Key="DxTableViewStyle"> 
    <Setter Property="AllowBestFit" Value="True"/> 
    <Setter Property="BestFitArea" Value="All"/> 
    <Setter Property="BestFitMode" Value="VisibleRows"/> 
    <Setter Property="AutoWidth" Value="False"/> 
    <Setter Property="HorizontalScrollbarVisibility" Value="Auto"/> 
</Style> 

謝謝您的幫助!

+1

在GridView上調用方法「BestFitColumns」。 – Sebi

回答

0

就像@Sebi說,在他的評論,你應該呼籲GridViewBestFitColumns。我曾經這樣做,但現在我避免使用它,因爲它會減慢網格的加載速度,特別是如果您有一組重要的數據要顯示(它遍歷所有行以找到每列的最佳寬度)。

我建議你手動設置每一列(如果他願意,用戶可以調整可見寬度)的寬度。

編輯:當然,如果GridView的總寬度大於GridControl的寬度,那麼水平滾動條會自動設置爲veiw。

+0

嗨。對不起,但不明白。我的XAML中沒有任何GridView,所以不知道該把它放在哪裏。謝謝 – goul

+0

爲什麼不在代碼後面做? – Fares

+1

我沒有一行代碼到目前爲止,所以想保持這種方式。也驚訝於一個簡單的功能設置不能在Xaml中完成? – goul