如何根据数据自动调整gridview上的每个数据列标题,它应该适合屏幕而不使用滚动条来查看网格中的剩余数据?继承我的示例代码..
的Xaml:
<telerik:GridViewDataColumn Header="First Name" Width="*" DataMemberBinding="{Binding FirstName}" />
<telerik:GridViewDataColumn Header="Last Name" Width="*" DataMemberBinding="{Binding LastName}" />
<telerik:GridViewDataColumn Header="Middle Name" Width="*" DataMemberBinding="{Binding MiddleName}" />
<telerik:GridViewDataColumn Header="Registration Day" Width="*" DataMemberBinding="{Binding RegistrationDay, StringFormat={}{0:dd/MM/yyyy}}" />
<telerik:GridViewDynamicHyperlinkColumn Header="Email" Width="*" DataMemberBinding="{Binding Email}" />
<telerik:GridViewDataColumn Header="Password" Width="*" DataMemberBinding="{Binding Access}" />
希望你能帮助我。谢谢!
答案 0 :(得分:1)
这是一个示例,显示问题中大多数要点的答案
<DataGrid>
<DataGrid.Resources>
<Style TargetType="TextBlock"
x:Key="trimStyle">
<Setter Property="TextTrimming"
Value="CharacterEllipsis" />
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="Resize to header width"
Width="SizeToHeader"
Binding="{Binding}"
ElementStyle="{StaticResource trimStyle}" />
<DataGridTextColumn Header="Resize to cell content"
Width="SizeToCells"
Binding="{Binding}" />
<DataGridTextColumn Header="Resize to header & cell content"
Width="Auto"
Binding="{Binding}" />
<DataGridTextColumn Header="Distribute the remaining space"
Width="Auto"
Binding="{Binding}"
ElementStyle="{StaticResource trimStyle}" />
</DataGrid.Columns>
<sys:String>a string which is long</sys:String>
<sys:String>a string which is long, a really long string</sys:String>
<sys:String>another string which is long</sys:String>
<sys:String>another string which is long, a really long string</sys:String>
</DataGrid>
结果
正如您所看到的,我们只有很少的列大小调整模式来确定列的宽度。对于长文本的省略号...
,我已经为TextBlock定义了一个样式,并启用了TextTrimming选项,并使用与所需列的ElementStyle相同的
有关datagrid大小调整选项的详细信息,请参阅Sizing Options in the DataGrid Control
该示例基于DataGrid
但似乎您正在使用teleric控件,但我确信它将以类似的方式应用于teleric控件。我没有teleric控件,所以我可能不会为相同的例子闪现。