我有一个像这样的DevExpress网格:
<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>
此网格嵌入到另一个固定宽度的容器中。
我想做一些简单的事情但却找不到如何做到这一点,即:
这是我的风格,我不能像我想的那样工作:
<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>
感谢您的帮助!
答案 0 :(得分:0)
就像@Sebi在评论中所说,你应该拨打BestFitColumns
上的GridView
。我曾经这样做但现在我避免使用它,因为它减慢了网格的加载速度,特别是如果你有一组重要的数据要显示(它遍历所有行以找到每列的最佳宽度)。
我建议您手动设置每列的宽度(如果用户可以调整可见宽度)。
编辑:当然,如果GridView
的总宽度大于GridControl
的宽度,水平滚动条将自动设置为视图。