1

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

如何轻松实现?

4

3 回答 3

5

快速解决:

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;
        }
    }
}
于 2012-08-14T10:13:23.330 回答
3

开箱即用的 RadGridView 将为您提供仅将选择单元设置为 Cells 或 FullRow 的功能。它不能为您提供这两种条件。

您可以通过将 SelectionUnit 设置为 Cell 并将 SelectionMode 设置为 Extended 来提供扩展的单元格选择。

现在为了进行行选择,您必须将 SelectionUnit 更改为 FullRow。

这就是 RadGridView 的工作原理。

有关更多信息文档,我建议您查看有关此功能的以下文档:

http://www.telerik.com/help/wpf/gridview-selection-basics.html

http://www.telerik.com/help/wpf/gridview-multiple-selection.html

于 2012-08-13T15:06:32.817 回答
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>
于 2014-08-30T12:56:53.117 回答