Spread Silverlight Documentation
Working with Selections
Spread Silverlight Documentation > Developer's Guide > Managing the User Interface > Working with Selections

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:

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