MESCIUS SPREAD for Windows Forms 17.0J
データソースに接続(GcComboBox型セル)

データソースを使用してGcComboBox型セルのリストボックスに項目を設定する方法について説明します。

データベース内のデータをリストボックスに表示する場合は、DataSourceプロパティに該当するデータセットを設定します。

サンプルコード

次のサンプルコードは、GcComboBox型セルの項目にデータベースの内容を設定します。

C#
コードのコピー
// DataTableオブジェクトを作成します。
string dbpath = "C:\\databind.mdb";
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbpath;
System.Data.OleDb.OleDbConnection dbConn = new System.Data.OleDb.OleDbConnection(connectionString);
// 接続を開き、SELECTコマンドを実行します。
dbConn.Open();
System.Data.OleDb.OleDbCommand dbCommand = new System.Data.OleDb.OleDbCommand("SELECT * FROM Products", dbConn);
// この接続でDataReaderを開き、コマンドを実行します。
System.Data.OleDb.OleDbDataReader dr = dbCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
DataTable dataTable = new DataTable();
dataTable.Load(dr);
// 接続を解放します。
dbConn.Dispose();
GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType gcComboBox1 = new GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType();
// DataTableオブジェクトをDataSourceプロパティに設定します。
gcComboBox1.DataSource = dataTable;
fpSpread1.Sheets[0].Cells[0, 0].CellType = gcComboBox1;
Visual Basic
コードのコピー
' DataTableオブジェクトを作成します。
Dim dbpath As String = "C:\databind.mdb"
Dim connectionString As String = Convert.ToString("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=") & dbpath
Dim dbConn As New System.Data.OleDb.OleDbConnection(connectionString)
' 接続を開き、SELECTコマンドを実行します。
dbConn.Open()
Dim dbCommand As New System.Data.OleDb.OleDbCommand("SELECT * FROM Products", dbConn)
' この接続でDataReaderを開き、コマンドを実行します。
Dim dr As System.Data.OleDb.OleDbDataReader = dbCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection)
Dim dataTable As New DataTable()
dataTable.Load(dr)
' 接続を解放します。
dbConn.Dispose()
Dim gcComboBox1 As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
' DataTableオブジェクトをDataSourceプロパティに設定します。
gcComboBox1.DataSource = dataTable
FpSpread1.Sheets(0).Cells(0, 0).CellType = gcComboBox1

特定の列のみの表示

特定の列のみ表示する場合は、AutoGenerateColumns プロパティをFalseに設定します。カラムを追加し、バインドする列名をListColumnInfo クラスのDataPropertyName プロパティで設定します。

カラムを追加する方法については「カラムの設定(GcComboBox型セル)」を参照してください。

サンプルコード

次のサンプルコードは、先のサンプルコードで接続したデータソースの特定の列のみをドロップダウンリストに表示します。

C#
コードのコピー
GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType gcComboBox1 = new GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType();           
// カラムを作成します。
GrapeCity.Win.Spread.InputMan.CellType.ListColumnInfo lc1 = new GrapeCity.Win.Spread.InputMan.CellType.ListColumnInfo("製品名");
lc1.DataPropertyName = "ProductsName";
GrapeCity.Win.Spread.InputMan.CellType.ListColumnInfo lc2 = new GrapeCity.Win.Spread.InputMan.CellType.ListColumnInfo("単価");
lc2.DataPropertyName = "Price";
// GcComboBox型セルにカラムを追加します。
gcComboBox1.ListColumns.Add(lc1);
gcComboBox1.ListColumns.Add(lc2);
// 自動カラム生成を禁止し、データソースに接続します。
gcComboBox1.AutoGenerateColumns = false;
gcComboBox1.DataSource = dataTable;          
fpSpread1.Sheets[0].Cells[0, 0].CellType = gcComboBox1;
Visual Basic
コードのコピー
Dim gcComboBox1 As New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
' カラムを作成します。
Dim lc1 As New GrapeCity.Win.Spread.InputMan.CellType.ListColumnInfo("製品名")
lc1.DataPropertyName = "ProductsName"
Dim lc2 As New GrapeCity.Win.Spread.InputMan.CellType.ListColumnInfo("単価")
lc2.DataPropertyName = "Price"
' GcComboBox型セルにカラムを追加します。
gcComboBox1.ListColumns.Add(lc1)
gcComboBox1.ListColumns.Add(lc2)
' 自動カラム生成を禁止し、データソースに接続します。
gcComboBox1.AutoGenerateColumns = False
gcComboBox1.DataSource = dataTable
FpSpread1.Sheets(0).Cells(0, 0).CellType = gcComboBox1
参照

 

 


© MESCIUS inc. All rights reserved.