VB.NET:Spreadのセルのボタンクリック時のイベント処理

SPREADのアクティブシートのセルにボタンセルタイプ(ButtonCellType)を設定した時の、 クリック時イベントの処理についてです。
以下のソースは、フォームロード時にSPREADの初期化を行っています。 アクティブシートのカラム数を3に設定し、ヘッダ行数を0でクリア設定しています。

フォーム表示後、ボタンをクリックすると、 クリックイベント内で宣言された固定的なテストデータをSPREADに設定し表示させます。
データの1行分毎の処理で、「RowCount」プロパティを+1して行を追加します。
追加された行の1カラム目にはボタンセルタイプ(ButtonCellType)を設定します。 ボタンのキャプションの設定は、ButtonCellTypeの「Text」プロパティに設定します。

2カラム目はテキストセルタイプ(TextCellType)を設定します。 データを設定するには、セルの「Text」プロパティに設定します。 TextCellTypeは先頭ゼロが省かれることなく、5個目のデータの"0000005"がそのまま表示されます。

3カラム目はチェックボックスセルタイプ(CheckBoxCellType)を設定します。 CheckBoxCellTypeの場合、データのチェックの状態を設定するには「Value」プロパティに設定します。

ボタンクリック時のイベントとしては、SPREADコントロールの「ButtonClicked」に処理を記述します。 「ButtonClicked」は「ButtonCellType」だけではなく以下のセルタイプでイベントが発生します。
・ButtonCellType ・CheckBoxCellType ・HyperlinkCellType ・MultiOptionCellType


下図は、最初、フォームが表示後、「Button1」をクリックした結果が以下の図です。

Btnclick1


1行目の「001」ボタンをクリックした結果が以下の図です。 (メッセージBOXの表示をForm1の上に移動して画面キャプチャしていますので実際の表示位置とは異なります)

「ButtonClicked」イベントの引数である「e」のプロパティ「Row」「Column」で クリック時の行、カラム位置が分かります。このプロパティを使ってセルの情報を取得します。

Btnclick2



5行目のチェックボックスをクリックした結果が以下の図です。

Btnclick3


「ButtonClicked」がチェックボックスにも対応していることが分かります。 この時の3カラム目の値を見ると、チェックボックスが変化した後のチェックの状態を返す様です。 この点は注意が必要だと思います。

もし、セル上に各種のセルタイプのものが存在する場合は、カラム位置かもしくは、 イベントを発生させたControlオブジェクト(「e」のプロパティ「EditingControl」)で処理を分ける必要があります。

■関連記事
VB.NET:SpreadでのEnter時にセルを右移動させる方法
VB.NET:Spreadでフォーカスを持っていない時にセル枠を表示しない設定
VB.NET:Spreadのヘッダカラム及び、通常のカラムの連結
VB.NET:Spreadのシートへの簡単な一覧データの設定について
VB.NET:Spreadのシートのセルにボタン、テキスト、チェックボックスのセルタイプの設定
VB.NET:Spreadのセルへのデータ設定の描画速度アップ
VB.NET:Spreadのセルのチップウインドウで別に設定された文字列を表示する
VB.NET:Spreadでデータ一覧表示を簡単に行う方法について
VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)
VB.NET:Spreadデータ一覧表示での行選択処理(CellDoubleClickイベント , KeyDownイベント)その2
VB.NET:Spreadデータ一覧表示での自動ソート実行時に複数のソート条件を指定する方法について
VB.NET:Spreadで異なるSPREADコントロール間でシートデータのコピーを行う方法
VB.NET:SpreadでのCSV出力とCSV入力を使って、異なるSPREADコントロール間でシートデータのコピーを行う方法
VB.NET:SpreadシートのPDF出力と表示を行う方法
VB.NET:2個のSpread間での[Enter]キー、矢印キーなどでフォーカス移動を行う方法
VB.NET:Spreadの数値セルタイプを使ってデータメンテナンスのプログラムに使う方法
VB.NET:Spreadのテキストセルでバイト数入力制限を掛ける方法
VB.NET:Spreadのチェックボックス型セルにはCheckChangedイベントを、ボタン型セルにはClickイベントの発生方法


楽天市場

コメント(0)