【コンボボックス型セル】【マルチカラムコンボボックス型セル】コードによってドロップダウンリストを表示させることはできますか
対象製品
SPREAD for Windows Forms 5.0J
詳細
コンボボックス型セルでは、編集中のエディタとしてFpComboクラスが使用され、FpComboクラスのDropDownプロパティを使用してドロップダウンリストを表示させることが可能です。また、マルチカラムコンボボックス型セルでは、サブエディタコントロールを表示するためのShowSubEditorメソッドを使用します。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
' コンボボックス型セルの場合
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' セルの設定
Dim cmbocell As New FarPoint.Win.Spread.CellType.ComboBoxCellType()
cmbocell.Items = New String() {"Jan", "Feb", "Mar", "Apr", "May", "Jun"}
FpSpread1.ActiveSheet.Columns(0).CellType = cmbocell
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim row As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim col As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
' コンボボックス型セルのリストをドロップダウンします
If TypeOf FpSpread1.ActiveSheet.GetCellType(row, col) Is FarPoint.Win.Spread.CellType.ComboBoxCellType Then
FpSpread1.Focus()
FpSpread1.StartCellEditing(Nothing, False)
CType(FpSpread1.EditingControl, FarPoint.Win.FpCombo).DroppedDown = True
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' セルの設定
Dim cmbocell As New FarPoint.Win.Spread.CellType.ComboBoxCellType()
cmbocell.Items = New String() {"Jan", "Feb", "Mar", "Apr", "May", "Jun"}
FpSpread1.ActiveSheet.Columns(0).CellType = cmbocell
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim row As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim col As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
' コンボボックス型セルのリストをドロップダウンします
If TypeOf FpSpread1.ActiveSheet.GetCellType(row, col) Is FarPoint.Win.Spread.CellType.ComboBoxCellType Then
FpSpread1.Focus()
FpSpread1.StartCellEditing(Nothing, False)
CType(FpSpread1.EditingControl, FarPoint.Win.FpCombo).DroppedDown = True
End If
End Sub
' マルチカラムコンボボックス型セルの場合
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' データの作成
Dim dt As New DataTable("LIST")
dt.Columns.Add("Code", GetType(Int32))
dt.Columns.Add("Name", GetType(String))
dt.Rows.Add(New Object() {100, "AAA"})
dt.Rows.Add(New Object() {200, "BBB"})
dt.Rows.Add(New Object() {300, "CCC"})
dt.AcceptChanges()
' セルの設定
Dim combo As New FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType()
combo.DataSourceList = dt
combo.DataColumnName = "Code"
combo.ColumnEditName = "Name"
combo.ListWidth = 215
FpSpread1.ActiveSheet.Columns(1).CellType = combo
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim row As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim col As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
' マルチカラムコンボボックス型セルのリストをドロップダウンします
If TypeOf FpSpread1.ActiveSheet.GetCellType(row, col) Is FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType Then
FpSpread1.Focus()
FpSpread1.StartCellEditing(Nothing, False)
CType(FpSpread1.EditingControl, FarPoint.Win.Spread.CellType.GeneralEditor).ShowSubEditor(True)
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' データの作成
Dim dt As New DataTable("LIST")
dt.Columns.Add("Code", GetType(Int32))
dt.Columns.Add("Name", GetType(String))
dt.Rows.Add(New Object() {100, "AAA"})
dt.Rows.Add(New Object() {200, "BBB"})
dt.Rows.Add(New Object() {300, "CCC"})
dt.AcceptChanges()
' セルの設定
Dim combo As New FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType()
combo.DataSourceList = dt
combo.DataColumnName = "Code"
combo.ColumnEditName = "Name"
combo.ListWidth = 215
FpSpread1.ActiveSheet.Columns(1).CellType = combo
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim row As Integer = FpSpread1.ActiveSheet.ActiveRowIndex
Dim col As Integer = FpSpread1.ActiveSheet.ActiveColumnIndex
' マルチカラムコンボボックス型セルのリストをドロップダウンします
If TypeOf FpSpread1.ActiveSheet.GetCellType(row, col) Is FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType Then
FpSpread1.Focus()
FpSpread1.StartCellEditing(Nothing, False)
CType(FpSpread1.EditingControl, FarPoint.Win.Spread.CellType.GeneralEditor).ShowSubEditor(True)
End If
End Sub
◎サンプルコード(C#)
// コンボボックス型セルの場合
private void Form1_Load(object sender, EventArgs e)
{
// セルの設定
FarPoint.Win.Spread.CellType.ComboBoxCellType cmbocell = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
cmbocell.Items = new String[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun" };
fpSpread1.ActiveSheet.Columns[0].CellType = cmbocell;
}
private void button1_Click(object sender, EventArgs e)
{
int row = fpSpread1.ActiveSheet.ActiveRowIndex;
int col = fpSpread1.ActiveSheet.ActiveColumnIndex;
// コンボボックス型セルのリストをドロップダウンします
if (fpSpread1.ActiveSheet.GetCellType(row, col) is FarPoint.Win.Spread.CellType.ComboBoxCellType)
{
fpSpread1.Focus();
fpSpread1.StartCellEditing(null, false);
((FarPoint.Win.FpCombo)fpSpread1.EditingControl).DroppedDown = true;
}
}
private void Form1_Load(object sender, EventArgs e)
{
// セルの設定
FarPoint.Win.Spread.CellType.ComboBoxCellType cmbocell = new FarPoint.Win.Spread.CellType.ComboBoxCellType();
cmbocell.Items = new String[] { "Jan", "Feb", "Mar", "Apr", "May", "Jun" };
fpSpread1.ActiveSheet.Columns[0].CellType = cmbocell;
}
private void button1_Click(object sender, EventArgs e)
{
int row = fpSpread1.ActiveSheet.ActiveRowIndex;
int col = fpSpread1.ActiveSheet.ActiveColumnIndex;
// コンボボックス型セルのリストをドロップダウンします
if (fpSpread1.ActiveSheet.GetCellType(row, col) is FarPoint.Win.Spread.CellType.ComboBoxCellType)
{
fpSpread1.Focus();
fpSpread1.StartCellEditing(null, false);
((FarPoint.Win.FpCombo)fpSpread1.EditingControl).DroppedDown = true;
}
}
// マルチカラムコンボボックス型セルの場合
private void Form1_Load(object sender, EventArgs e)
{
// データの作成
DataTable dt = new DataTable("LIST");
dt.Columns.Add("Code", Type.GetType("System.Int32"));
dt.Columns.Add("Name", Type.GetType("System.String"));
dt.Rows.Add(new object[] {100, "AAA"});
dt.Rows.Add(new object[] {200, "BBB"});
dt.Rows.Add(new object[] {300, "CCC"});
dt.AcceptChanges();
FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType combo = new FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType();
combo.DataSourceList = dt;
combo.DataColumnName = "Code";
combo.ColumnEditName = "Name";
combo.ListWidth = 215;
fpSpread1.ActiveSheet.Columns[1].CellType = combo;
}
private void button1_Click(object sender, EventArgs e)
{
int row = fpSpread1.ActiveSheet.ActiveRowIndex;
int col = fpSpread1.ActiveSheet.ActiveColumnIndex;
// マルチカラムコンボボックス型セルのリストをドロップダウンします
if (fpSpread1.ActiveSheet.GetCellType(row, col) is FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType)
{
fpSpread1.Focus();
fpSpread1.StartCellEditing(null, false);
((FarPoint.Win.Spread.CellType.GeneralEditor)fpSpread1.EditingControl).ShowSubEditor(true);
}
}
private void Form1_Load(object sender, EventArgs e)
{
// データの作成
DataTable dt = new DataTable("LIST");
dt.Columns.Add("Code", Type.GetType("System.Int32"));
dt.Columns.Add("Name", Type.GetType("System.String"));
dt.Rows.Add(new object[] {100, "AAA"});
dt.Rows.Add(new object[] {200, "BBB"});
dt.Rows.Add(new object[] {300, "CCC"});
dt.AcceptChanges();
FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType combo = new FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType();
combo.DataSourceList = dt;
combo.DataColumnName = "Code";
combo.ColumnEditName = "Name";
combo.ListWidth = 215;
fpSpread1.ActiveSheet.Columns[1].CellType = combo;
}
private void button1_Click(object sender, EventArgs e)
{
int row = fpSpread1.ActiveSheet.ActiveRowIndex;
int col = fpSpread1.ActiveSheet.ActiveColumnIndex;
// マルチカラムコンボボックス型セルのリストをドロップダウンします
if (fpSpread1.ActiveSheet.GetCellType(row, col) is FarPoint.Win.Spread.CellType.MultiColumnComboBoxCellType)
{
fpSpread1.Focus();
fpSpread1.StartCellEditing(null, false);
((FarPoint.Win.Spread.CellType.GeneralEditor)fpSpread1.EditingControl).ShowSubEditor(true);
}
}
関連情報
- 編集終了時にコンボボックス型セルに入力した文字列が消えてしまいます
- コンボボックス型セルのデータの扱いについて
- 【Tips】コンボボックス型セルの基本的な使用例
- 【コンボボックス型セル】【マルチカラムコンボボックス型セル】 Enterキーによりドロップダウンリストが表示されるのを抑止する方法はありますか?
- 【コンボボックス型セル】 初期値を設定したい
キーワード
「コンボボックス型セル/マルチカラムコンボボックス型セル」
この文書は、以前は次のFAQ IDで公開されていました : 13003