Spread WPF 17
Spread WPF Documentation / Developer's Guide / Managing the User Interface / Working with Selections
In This Topic
    Working with Selections
    In This Topic

    You can select cells, rows, columns, or multiple ranges in the control. You can specify what the user is allowed to select with the SelectionPolicy property. You can further restrict the selection with the SelectionUnit property to a single row, column, or cell.

    You can specify selection colors with the SelectionBorderColor, SelectionBackground, or SelectionBorderThemeColor property.

    Click and drag with the left mouse button to select a block of cells, columns, or rows. You can use the mouse click and Ctrl key to select multiple ranges of cells. Navigation keys are listed in the Using Keyboard Navigation.

    The following image displays multiple selected blocks of cells:

    Spreadsheet with multiple selected block of cells

    Using Code

    The following example adds and extends a selection with the AddSelection and ExtendSelection methods.

    CS
    Copy Code

    private void Window_Loaded(object sender, RoutedEventArgs e)
            {
            GrapeCity.Windows.SpreadSheet.Data.CellRange cellr = new GrapeCity.Windows.SpreadSheet.Data.CellRange(0, 0, 3, 3);
            GrapeCity.Windows.SpreadSheet.Data.CellRange cellr2 = new GrapeCity.Windows.SpreadSheet.Data.CellRange(4, 0, 2, 2);
            gcSpreadSheet1.Sheets[0].SelectionPolicy = GrapeCity.Windows.SpreadSheet.Data.SelectionPolicy.MultiRange;
            //gcSpreadSheet1.Sheets[0].SetSelection(0, 0, 3, 3);
            gcSpreadSheet1.Sheets[0].SetSelection(cellr);
            //gcSpreadSheet1.Sheets[0].AddSelection(4, 0, 2, 2);
            //gcSpreadSheet1.Sheets[0].AddSelection(cellr2);
            gcSpreadSheet1.Sheets[0].AddSelection(cellr2, true);
            //gcSpreadSheet1.Sheets[0].AddSelection(4, 0, 2, 2, true);
            //Specifies the extent (or farthest cell) in the selection of cells.
            gcSpreadSheet1.Sheets[0].ExtendSelection(6, 3);
           gcSpreadSheet1.Invalidate();                      
            }

            private void button1_Click(object sender, RoutedEventArgs e)
            {
             GrapeCity.Windows.SpreadSheet.Data.CellRange cellr3 = new GrapeCity.Windows.SpreadSheet.Data.CellRange(0, 0, 3, 3);
            listBox1.Items.Add(gcSpreadSheet1.Sheets[0].IsAnyCellInColumnSelected(0).ToString());
            listBox1.Items.Add(gcSpreadSheet1.Sheets[0].IsAnyCellInRowSelected(10).ToString());
            listBox1.Items.Add(gcSpreadSheet1.Sheets[0].IsSelected(3, 3).ToString());
            //gcSpreadSheet1.Sheets[0].ClearSelections();
            //gcSpreadSheet1.Sheets[0].ClearSelection(0, 0, 3, 3);
            //gcSpreadSheet1.Sheets[0].ClearSelection(cellr3);
             gcSpreadSheet1.Invalidate();
            }

    VB.NET
    Copy Code

    Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
            Dim cellr As New GrapeCity.Windows.SpreadSheet.Data.CellRange(0, 0, 3, 3)
            Dim cellr2 As New GrapeCity.Windows.SpreadSheet.Data.CellRange(4, 0, 2, 2)
            GcSpreadSheet1.Sheets(0).SelectionPolicy = GrapeCity.Windows.SpreadSheet.Data.SelectionPolicy.MultiRange
            'GcSpreadSheet1.Sheets(0).SetSelection(0, 0, 3, 3)
            GcSpreadSheet1.Sheets(0).SetSelection(cellr)
            'GcSpreadSheet1.Sheets(0).AddSelection(4, 0, 2, 2)
            'GcSpreadSheet1.Sheets(0).AddSelection(cellr2)
            GcSpreadSheet1.Sheets(0).AddSelection(cellr2, True)
            'GcSpreadSheet1.Sheets(0).AddSelection(4, 0, 2, 2, True)
            'Specifies the extent (or farthest cell) in the selection of cells.
            GcSpreadSheet1.Sheets(0).ExtendSelection(6, 3)
            GcSpreadSheet1.Invalidate()
        End Sub

        Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
            Dim cellr3 As New GrapeCity.Windows.SpreadSheet.Data.CellRange(0, 0, 3, 3)
            ListBox1.Items.Add(GcSpreadSheet1.Sheets(0).IsAnyCellInColumnSelected(0).ToString())
            ListBox1.Items.Add(GcSpreadSheet1.Sheets(0).IsAnyCellInRowSelected(10).ToString())
            ListBox1.Items.Add(GcSpreadSheet1.Sheets(0).IsSelected(3, 3).ToString())
            'GcSpreadSheet1.Sheets(0).ClearSelections()
            'GcSpreadSheet1.Sheets(0).ClearSelection(0, 0, 3, 3)
            'GcSpreadSheet1.Sheets(0).ClearSelection(cellr3)
            GcSpreadSheet1.Invalidate()
        End Sub

    See Also