Posted By

sekihin on 03/10/15


Tagged

Winform spreadsheet


Versions (?)

【チェックボックス型セル】 CheckChangedイベントを発生させる方法


 / Published in: VB.NET
 

URL: http://www.grapecity.com/tools/support/technical/knowledge_detail.asp?id=31206

チェックボックス型セルでは編集中のエディタとしてFpCheckBoxクラスが使用されています。この場合、セルが編集モードに移行するタイミングで、FpCheckBoxクラスメンバであるCheckChangedイベントのハンドラ関連付けによって発生させることが出来ます。上記クラスの詳細については製品ヘルプをご参照ください。

  1. Imports FarPoint.Win
  2. Imports FarPoint.Win.Spread.CellType
  3.  
  4.   Dim chkcell As FpCheckBox
  5.   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  6.     FpSpread1.ActiveSheet.Cells(0, 0).CellType = New CheckBoxCellType
  7.   End Sub
  8.  
  9.   Private Sub FpSpread1_EditModeOn(ByVal sender As Object, ByVal e As System.EventArgs) Handles FpSpread1.EditModeOn
  10.     Dim iRow As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
  11.     Dim iCol As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
  12.     If TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is CheckBoxCellType Then
  13.       chkcell = CType(FpSpread1.EditingControl, FpCheckBox)
  14.       'イベントハンドラ関連付け
  15.       AddHandler chkcell.CheckChanged, AddressOf chkcell_CheckChanged
  16.     End If
  17.   End Sub
  18.  
  19.   Private Sub FpSpread1_EditModeOff(ByVal sender As Object, ByVal e As System.EventArgs) Handles FpSpread1.EditModeOff
  20.     Dim iRow As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
  21.     Dim iCol As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
  22.     If TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is CheckBoxCellType Then
  23.       chkcell = CType(FpSpread1.EditingControl, FpCheckBox)
  24.       'イベントハンドラ関連付け解除
  25.       RemoveHandler chkcell.CheckChanged, AddressOf chkcell_CheckChanged
  26.     End If
  27.   End Sub
  28.  
  29.   Private Sub chkcell_CheckChanged(ByVal sender As Object, ByVal e As System.EventArgs)
  30.     Console.WriteLine(chkcell.CheckState.ToString())
  31.   End Sub

Report this snippet  

You need to login to post a comment.