我希望能够选择单元格并选择行。 为了选择单元格,我设置了SelectionUnit =“Cells”和SelectionMode =“Extended”。 它工作正常。但现在我需要能够选择行。用户可以通过行标题(在行的左侧部分)选择行。
如何轻松实施?
答案 0 :(得分:3)
快速修复:
private void RadGridView_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
if(e.RightButton == MouseButtonState.Pressed)
return;
var source = e.OriginalSource as DependencyObject;
if(source == null)
return;
var cell = source.FindVisualParent<GridViewCell>();
if(cell != null)
{
((RadGridView)sender).SelectionUnit = GridViewSelectionUnit.Cell;
}
else
{
var row = source.FindVisualParent<GridViewRow>();
if(row != null)
{
((RadGridView)sender).SelectionUnit = GridViewSelectionUnit.FullRow;
}
}
}
答案 1 :(得分:2)
开箱即用的RadGridView将为您提供将选择单位设置为Cell或FullRow的功能。它无法为您提供这两种条件。
您可以通过将SelectionUnit设置为Cell并将SelectionMode设置为Extened来提供扩展的单元格选择。
现在,为了进行行选择,您必须将SelectionUnit更改为FullRow。
这就是RadGridView的工作方式。
有关详细信息,请建议您查看以下有关此功能的文档:
http://www.telerik.com/help/wpf/gridview-selection-basics.html
http://www.telerik.com/help/wpf/gridview-multiple-selection.html
答案 2 :(得分:0)
在定义列时,只需添加telerik gridviewselectcolumn即可。此列为每个行和标题添加复选框。通过单击标题复选框将选择所有行。
<telerik:RadGridView.Columns>
<telerik:GridViewSelectColumn HeaderCellStyle="{StaticResource GridViewHeaderCellStyle1}"/>
<telerik:GridViewDataColumn Header="Column1" HeaderCellStyle="{StaticResource GridViewHeaderCellStyle1}" MinWidth="150"
DataMemberBinding="{Binding XYZ}" />
</telerik:RadGridView.Columns>