【セル型全般】 アクティブセルのセル型を判断する方法
対象製品
SPREAD for .NET Windows Forms Edition
詳細
SheetViewクラスメンバであるGetCellTypeメソッド呼び出しを行い、is演算子と併用することで判断します。具体的な方法については以下のサンプルコードをご参照ください。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
Imports FarPoint.Win.Spread.CellType
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
'ボタン型セル
Dim b As New ButtonCellType
FpSpread1.ActiveSheet.Cells(0, 0).CellType = b
'コンボボックス型セル
Dim c As New ComboBoxCellType
c.Items = New String() {"aaa", "bbb", "ccc"}
FpSpread1.ActiveSheet.Cells(0, 1).CellType = c
'日付型セル
Dim d As New DateTimeCellType
FpSpread1.ActiveSheet.Cells(0, 2).CellType = d
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim iRow As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim iCol As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
If TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is ButtonCellType Then
Debug.WriteLine("アクティブセルはボタン型です")
ElseIf TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is ComboBoxCellType Then
Debug.WriteLine("アクティブセルはコンボボックス型です")
ElseIf TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is DateTimeCellType Then
Debug.WriteLine("アクティブセルは日付型です")
Else
Debug.WriteLine("アクティブセルは標準型です")
End If
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
'ボタン型セル
Dim b As New ButtonCellType
FpSpread1.ActiveSheet.Cells(0, 0).CellType = b
'コンボボックス型セル
Dim c As New ComboBoxCellType
c.Items = New String() {"aaa", "bbb", "ccc"}
FpSpread1.ActiveSheet.Cells(0, 1).CellType = c
'日付型セル
Dim d As New DateTimeCellType
FpSpread1.ActiveSheet.Cells(0, 2).CellType = d
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim iRow As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim iCol As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
If TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is ButtonCellType Then
Debug.WriteLine("アクティブセルはボタン型です")
ElseIf TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is ComboBoxCellType Then
Debug.WriteLine("アクティブセルはコンボボックス型です")
ElseIf TypeOf (FpSpread1.ActiveSheet.GetCellType(iRow, iCol)) Is DateTimeCellType Then
Debug.WriteLine("アクティブセルは日付型です")
Else
Debug.WriteLine("アクティブセルは標準型です")
End If
End Sub
◎サンプルコード(C#)
using FarPoint.Win.Spread.CellType;
private void Form1_Load(object sender, System.EventArgs e)
{
//ボタン型セル
ButtonCellType b = new ButtonCellType();
fpSpread1.ActiveSheet.Cells[0, 0].CellType = b;
//コンボボックス型セル
ComboBoxCellType c = new ComboBoxCellType();
c.Items = new string[] {"aaa", "bbb", "ccc"};
fpSpread1.ActiveSheet.Cells[0, 1].CellType = c;
//日付型セル
DateTimeCellType d = new DateTimeCellType();
fpSpread1.ActiveSheet.Cells[0, 2].CellType = d;
}
private void button1_Click(object sender, System.EventArgs e)
{
int iRow = fpSpread1.ActiveSheet.ActiveRowIndex;
int iCol = fpSpread1.ActiveSheet.ActiveColumnIndex;
if (fpSpread1.ActiveSheet.GetCellType(iRow, iCol) is ButtonCellType)
Console.WriteLine("アクティブセルはボタン型です");
else if (fpSpread1.ActiveSheet.GetCellType(iRow, iCol) is ComboBoxCellType)
Console.WriteLine("アクティブセルはコンボボックス型です");
else if (fpSpread1.ActiveSheet.GetCellType(iRow, iCol) is DateTimeCellType)
Console.WriteLine("アクティブセルは日付型です");
else
Console.WriteLine("アクティブセルは標準型です");
}
private void Form1_Load(object sender, System.EventArgs e)
{
//ボタン型セル
ButtonCellType b = new ButtonCellType();
fpSpread1.ActiveSheet.Cells[0, 0].CellType = b;
//コンボボックス型セル
ComboBoxCellType c = new ComboBoxCellType();
c.Items = new string[] {"aaa", "bbb", "ccc"};
fpSpread1.ActiveSheet.Cells[0, 1].CellType = c;
//日付型セル
DateTimeCellType d = new DateTimeCellType();
fpSpread1.ActiveSheet.Cells[0, 2].CellType = d;
}
private void button1_Click(object sender, System.EventArgs e)
{
int iRow = fpSpread1.ActiveSheet.ActiveRowIndex;
int iCol = fpSpread1.ActiveSheet.ActiveColumnIndex;
if (fpSpread1.ActiveSheet.GetCellType(iRow, iCol) is ButtonCellType)
Console.WriteLine("アクティブセルはボタン型です");
else if (fpSpread1.ActiveSheet.GetCellType(iRow, iCol) is ComboBoxCellType)
Console.WriteLine("アクティブセルはコンボボックス型です");
else if (fpSpread1.ActiveSheet.GetCellType(iRow, iCol) is DateTimeCellType)
Console.WriteLine("アクティブセルは日付型です");
else
Console.WriteLine("アクティブセルは標準型です");
}
キーワード
HowTo セル型
この文書は、以前は次のFAQ IDで公開されていました : 6717