ドラッグ選択のキャンセルとExcelブック形式の保存処理
最後に、2つのButtonコントロールのClickイベントハンドラの処理を作成します。
1つは、ドラッグ&ドロップする行を間違えてしまった場合に備え、ドラッグ側のグリッドで一度選択した行のドラッグ機能をキャンセルする処理です。これは、プロシージャ(メソッド)「ResetDragDrop」を呼び出すだけです。
もう一つは、ドロップ側のグリッドをExcelのブックとして保存する処理です。C1TrueDBGridコントロールは、グリッドデータをエクスポートする機能を持っており、その中の一つとしてExcelのワークシートに保存することができます。操作は簡単で、ExportToExcelメソッドを実行するだけです。引数は保存するファイル名です。たったこれだけでグリッドデータをExcelのワークシートに保存することができます。
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
ResetDragDrop()
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
'新しいグリッドの内容をExcelブックに保存
If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
C1TrueDBGrid2.ExportToExcel(SaveFileDialog1.FileName)
End If
End Sub
private void button1_Click(object sender, EventArgs e)
{
ResetDragDrop();
}
private void button2_Click(object sender, EventArgs e)
{
// 新しいグリッドの内容をExcelブックに保存
if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
c1TrueDBGrid2.ExportToExcel(saveFileDialog1.FileName);
}
}
まとめ
データベースのフロントエンドアプリケーションといえば、クエリでデータを抽出するのが主ですが、グリッドデータをドラッグ&ドロップして他のグリッドにコピー・移動できる機能は、データを選んで表を作成するのにとても有効です。
しかも、列を指定してデータだけをコピーしますから、異なるフィールドデータでも組み合わせて新しいグリッドを作成することができます。
データベースのデータを自由に組み合わせて表を作成したい時などにはもってこいの機能といえます。
参考資料
- 東京都立図書館ホームページ『都内公立図書館一覧』

