如何在单击行标题时选择整行?

时间:2012-08-13 08:51:14

标签: c# .net wpf telerik radgridview

我希望能够选择单元格并选择行。 为了选择单元格,我设置了SelectionUnit =“Cells”和SelectionMode =“Extended”。 它工作正常。但现在我需要能够选择行。用户可以通过行标题(在行的左侧部分)选择行。

如何轻松实施?

3 个答案:

答案 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>