PowerTools SPREAD for Windows Forms 10.0J > 開発者ガイド > データ連結 > データソースとの連結 > コンボボックス型セルのデータ連結 |
コンボボックス型セルをDataReaderに連結できます。 DataReaderを使用すると、データソースのデータを読み取り専用に、前方から参照できます。 多くの場合、DataReaderは結果を迅速に返す手段として使用できます。
次のサンプルコードは、コンボボックスに結果を供給する例です。
C# |
コードのコピー
|
---|---|
//データベースとの接続を設定します。 string dbpath = "c:\\reader.mdb"; System.Data.OleDb.OleDbConnection dbConn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + dbpath); //接続を開き、SELECTコマンドを実行します。 dbConn.Open(); System.Data.OleDb.OleDbCommand dbCommand = new System.Data.OleDb.OleDbCommand("SELECT * FROM Table1", dbConn); //この接続でDataReaderを開き、コマンドを実行します。 System.Data.OleDb.OleDbDataReader dr = dbCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection); /// リーダーの返す行をループします。 ArrayList al = new ArrayList(); while (dr.Read()) { al.Add(dr("Data")); } ///文字列に変換したデータをコンボボックスに供給します。 string[] s; s = al.ToArray(typeof(string)); FarPoint.Win.Spread.CellType.ComboBoxCellType cb = new FarPoint.Win.Spread.CellType.ComboBoxCellType(); cb.Items = s; FpSpread1.ActiveSheet.Cells(0, 0).CellType = cb; //接続を解放します。 dbConn.Dispose(); |
Visual Basic |
コードのコピー
|
---|---|
' データベースとの接続を設定します。 Dim dbpath As String = "c:\reader.mdb" Dim dbConn As New System.Data.OleDb.OleDbConnection( _ "Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & dbpath) ' 接続を開き、SELECTコマンドを実行します。 dbConn.Open() Dim dbCommand As New System.Data.OleDb.OleDbCommand( _ "SELECT * FROM Table1", dbConn) ' この接続でDataReaderを開き、コマンドを実行します。 Dim dr As System.Data.OleDb.OleDbDataReader = dbCommand.ExecuteReader(System.Data.CommandBehavior.CloseConnection) ' リーダーの返す行をループします。 Dim al As New ArrayList() While dr.Read() al.Add(dr("Data")) End While ' 文字列に変換したデータをコンボボックスに供給します。 Dim s As String() s = al.ToArray(GetType(String)) Dim cb As New FarPoint.Win.Spread.CellType.ComboBoxCellType cb.Items = s FpSpread1.ActiveSheet.Cells(0, 0).CellType = cb ' 接続を解放します。 dbConn.Dispose() |