データの保存処理
入力した予定データの保存処理コードを記述します。
読み出しコードは、すでにVisual StudioによってフォームのLoadイベントハンドラに作成されていますので、保存オプション処理だけを作成します。これは、フォームのClosingイベントハンドラに作成します。
なお、データ保存の際は、DataSetオブジェクトの制約チェックを一時的に無効するため、EnforceConstraintsプロパティをFalseにしてからUpdateメソッドを実行します。
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'TODO: このコード行はデータを 'スケジュール保存DataSet1.内線番号一覧' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
Me.内線番号一覧TableAdapter.Fill(Me.スケジュール保存DataSet1.内線番号一覧)
'TODO: このコード行はデータを 'スケジュール保存DataSet.予定' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
Me.予定TableAdapter.Fill(Me.スケジュール保存DataSet.予定)
End Sub
Private Sub Form1_FormClosing(sender As System.Object, e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Me.スケジュール保存DataSet.EnforceConstraints = False
Me.予定TableAdapter.Update(Me.スケジュール保存DataSet.予定)
Me.スケジュール保存DataSet.EnforceConstraints = True
End Sub
End Class
namespace C1Schedule_cs
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: このコード行はデータを 'スケジュール保存DataSet1.内線番号一覧' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
this.内線番号一覧TableAdapter.Fill(this.スケジュール保存DataSet1.内線番号一覧);
// TODO: このコード行はデータを 'スケジュール保存DataSet.予定' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
this.予定TableAdapter.Fill(this.スケジュール保存DataSet.予定);
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
this.スケジュール保存DataSet.EnforceConstraints = false;
this.予定TableAdapter.Update(this.スケジュール保存DataSet.予定);
this.スケジュール保存DataSet.EnforceConstraints = true;
}
}
}
まとめ
このように、C1Scheduleコントロールを使用することで、高度なスケジュール管理機能を簡単にアプリケーションに実装することができます。データベースとの連結も、設定方法が分かれば簡単ですし、面倒なコードはデータベースのアップデート処理を3行書くだけで済みます。
