データベースのデータを小計つきで表示する.NETアプリケーションを作る
「PowerTools ComponentOne Studio 2012J」のC1FlexGridコントロールを使った.NETアプリケーションの作成
ダウンロード サンプルファイル(バイナリ) (382.3 KB)
ダウンロード サンプルコード(VB) (30.8 KB)
ダウンロード サンプルコード(C#) (29.7 KB)
-
- Page 5
C1FlexGridコントロールのデータベース連結処理
まずは、グリッドをデータベースに連結する処理を作成します。この処理は、ボタン「データベースの読み込み」のClickイベントハンドラに作成します。
なお、手順の詳細は記事『データベースのデータからバブルチャートを作成する.NETアプリケーションを作る』で紹介している手順とほぼ同様なので、こちらを参照してください。
また今回も、クエリ文の入力にインプットボックスを使用します。これは、Visual BasicのInputBoxメソッドを使用しますので、C#で使う場合はプロジェクトの参照設定に「Microsoft.VisualBasic」を追加しておいてください。
なお、今回はクエリ文の入力用インプットボックスに、あらかじめサンプルデータベース用のクエリ文を表示するようにし、データを読み込んだ時点でAutoResizeプロパティをTrueに設定して列幅の自動調節を行っています。
Imports System.Data.OleDb
Imports C1.Win.C1FlexGrid
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'DBファイル名の取得と接続文字の作成
Dim dbname As String = ""
If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
dbname = OpenFileDialog1.FileName
Else
Exit Sub
End If
Dim conn As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & dbname
'SQL文の入力()
Dim sqlstr As String = InputBox("クエリのSQL文字列を入力してください", "テーブルの取り込み", _
"SELECT 収穫量一覧.* FROM 収穫量一覧;")
If sqlstr = "" Then
Exit Sub
End If
'クエリを実行しDataSetにデータを取り込む
Dim data_adap As OleDbDataAdapter = New OleDbDataAdapter(sqlstr, conn)
Dim data_sset As DataSet = New DataSet()
data_adap.Fill(data_sset)
'グリッドにデータを接続
C1FlexGrid1.AutoResize = True
C1FlexGrid1.DataSource = data_sset.Tables(0)
C1FlexGrid1.Cols.Remove(1) 'キー列を削除
End Sub
using System.Data.OleDb;
using C1.Win.C1FlexGrid;
namespace FG_subtotal_cs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//DBファイル名の取得と接続文字の作成
string dbname = "";
if(openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
dbname = openFileDialog1.FileName;
}
else
{
return;
}
string conn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + dbname;
//SQL文の入力
string sqlstr = Microsoft.VisualBasic.Interaction.InputBox(
"クエリのSQL文字列を入力してください", "テーブルの取り込み",
"SELECT 収穫量一覧.* FROM 収穫量一覧;", 200, 100);
if(sqlstr == "")
{
return;
}
//クエリを実行しDataSetにデータを取り込む
OleDbDataAdapter data_adap = new OleDbDataAdapter(sqlstr, conn);
DataSet data_sset = new DataSet();
data_adap.Fill(data_sset);
//グリッドにデータを接続
c1FlexGrid1.AutoResize = true;
c1FlexGrid1.DataSource = data_sset.Tables[0];
c1FlexGrid1.Cols.Remove(1); //キー列を削除
}
この記事は参考になりましたか?
- この記事の著者
-
瀬戸 遥(セト ハルカ)
8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
