【问题标题】:Basic autofit feature impossible with DevExpress GridControl.ViewDevExpress GridControl.View 无法实现基本的自动调整功能
【发布时间】:2013-06-26 16:01:51
【问题描述】:

我有一个像这样的 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>

感谢您的帮助!

【问题讨论】:

  • 在 GridView 上调用方法“BestFitColumns”。

标签: grid devexpress width


【解决方案1】:

就像@Sebi 在他的评论中所说,您应该在GridView 上拨打BestFitColumns。我曾经这样做,但现在我避免使用它,因为它会减慢网格的加载速度,特别是如果你有一组重要的数据要显示(它遍历所有行以找到每列的最佳宽度)。

我建议你手动设置每列的宽度(用户可以根据需要调整可见宽度)。

编辑:当然,如果GridView 的总宽度大于GridControl 的宽度,水平滚动条将自动设置为veiw。

【讨论】:

  • 嗨。对不起,但不明白。我的 XAML 中没有任何 GridView,所以不知道该放在哪里。谢谢
  • 到目前为止,我没有任何代码,所以希望保持这种状态。还对无法在 Xaml 中完成简单的 ptorperty 设置感到惊讶?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-08
  • 1970-01-01
  • 2015-12-19
  • 1970-01-01
  • 2010-10-17
  • 1970-01-01
相关资源
最近更新 更多