[GcSpreadSheet] 連続しない複数のセル範囲を選択して一括して値を変更する方法

文書番号 : 86003     文書種別 : 使用方法     登録日 : 2020/09/15     最終更新日 : 2020/09/15
文書を印刷する
対象製品
SPREAD for WPF 3.0J
詳細
Selection.Areasプロパティで複数の選択領域を取得してそれぞれの領域の選択範囲を取得し、それらの各セルに対して値を設定します。

下記のサンプルコードは、チェックボックス型セルの値をキーイベントを使用して設定する場合の例になります。

◎サンプルコード(VB)
Imports GrapeCity.Wpf.SpreadSheet.CellType

Class MainWindow
    Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs)
        Dim chk As New CheckBoxCellType()
        GcSpreadSheet1.Workbook.ActiveSheet.Columns(1).CellType = chk
    End Sub

    Private Sub GcSpreadSheet1_PreviewKeyDown(sender As Object, e As KeyEventArgs) Handles GcSpreadSheet1.PreviewKeyDown
        If e.Key = Key.F1 Then
            For i As Integer = 0 To (GcSpreadSheet1.Workbook.ActiveSheet.Selection.Areas.Count - 1)
                For j As Integer = 0 To (GcSpreadSheet1.Workbook.ActiveSheet.Selection.Areas(i).RowCount - 1)
                    GcSpreadSheet1.Workbook.ActiveSheet.Cells((GcSpreadSheet1.Workbook.ActiveSheet.Selection.Areas(i).Row + j), 1).Value = True
                Next
            Next
        End If
    End Sub
End Class
◎サンプルコード(C#)
using GrapeCity.Wpf.SpreadSheet.CellType;

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        CheckBoxCellType chk = new CheckBoxCellType();
        gcSpreadSheet1.Workbook.ActiveSheet.Columns[1].CellType = chk;
    }

    private void gcSpreadSheet1_PreviewKeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.F1)
        {
            for (int i = 0; i <= (gcSpreadSheet1.Workbook.ActiveSheet.Selection.Areas.Count - 1); i++)
            {
                for (int j = 0; j <= (gcSpreadSheet1.Workbook.ActiveSheet.Selection.Areas[i].RowCount - 1); j++)
                {
                    gcSpreadSheet1.Workbook.ActiveSheet.Cells[(gcSpreadSheet1.Workbook.ActiveSheet.Selection.Areas[i].Row + j), 1].Value = true;
                }
            }
        }
    }
}

なお、チェックボックス型セルはSPREAD for WPF 3.0JのSP1以降のバージョンで使用できます。