使用DevExpress GridControl.View无法实现基本的自动调整功能
我有这样一个DevExpress网格:使用DevExpress GridControl.View无法实现基本的自动调整功能,grid,devexpress,width,Grid,Devexpress,Width,我有这样一个DevExpress网格: <dxg:GridControl ItemsSource="{Binding CarsData}" AutoPopulateColumns="True" ScrollViewer.HorizontalScrollBarVisibility="Auto"> <dxg: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>
此网格嵌入到另一个具有固定宽度的容器中
我想做一些简单的事情,但找不到如何做,即:
- 让列自动调整其内容和标题
- 如果列比网格的容器宽,将显示一个水平滚动条
- 对于某些列,设置最大宽度
<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>
谢谢你的帮助 就像@Sebi在评论中说的那样,你应该调用
GridView
上的BestFitColumns
。我以前是这样做的,但现在我避免使用它,因为它会大大降低网格的加载速度,特别是当您有一组重要的数据要显示时(它会遍历所有行以找到每列的最佳宽度)
我建议您手动设置每列的宽度(如果用户愿意,可以调整可见宽度)
编辑:当然,如果
GridView
的总宽度大于GridControl
的宽度,则水平滚动条将自动设置为veiw 在GridView.Hi上调用方法“BestFitColumns”。对不起,我不明白。我的XAML中没有任何GridView,所以不知道该放在哪里。谢谢你;到目前为止,我还没有一行代码,所以我希望保持这种状态。还惊讶于在Xaml中无法完成简单的ptorperty设置?