方法 : Windows フォーム BindingNavigator コントロールに [Load]、[Save]、 の各ボタンを追加する
BindingNavigator コントロールは、フォーム上のデータ バインド コントロールの移動や操作に用途が特化された ToolStrip コントロールです。
BindingNavigator コンポーネントは ToolStrip コントロールであるため、簡単に変更でき、ユーザー向けの追加コマンドや代替コマンドを含めることができます。
次の手順では、TextBox コントロールをデータにバインドし、フォームに追加した ToolStrip コントロールを変更して、[Load]、[Save]、[Cancel] の各ボタンを追加します。
BindingNavigator コンポーネントに [Load] ボタン、[Save] ボタン、および [Cancel] ボタンを追加するには
フォームに TextBox コントロールを追加します。
このコントロールを、データ ソースにバインドされている BindingSource にバインドします。 この例では、BindingSource はデータベースにバインドされています。
データセットとテーブル アダプターが生成されたら、BindingNavigator コントロールをフォームにドラッグします。
BindingNavigator コントロールの BindingSource プロパティを、コントロールにバインドされているフォーム上の BindingSource に設定します。
BindingNavigator コントロールを選択します。
スマート タグ グリフ () をクリックして [BindingNavigator タスク] ダイアログ ボックスを表示し、[項目の編集] をクリックします。
項目コレクション エディターが表示されます。
項目コレクション エディターで、次の手順を実行します。
適切な型の ToolStripItem を選択し、[追加] をクリックして、ToolStripSeparator と 3 つの ToolStripButton 項目を追加します。
各ボタンの Nameプロパティを、それぞれLoadButton、SaveButton、CancelButtonに設定します。
各ボタンの Textプロパティを、それぞれLoad、Save、Cancelに設定します。
各ボタンの DisplayStyle プロパティをText に設定します。 または、このプロパティをImageまたはImageAndTextに設定し、Image プロパティでイメージが表示されるように設定することもできます。
[OK] をクリックしてダイアログ ボックスを閉じます。各ボタンが ToolStrip に追加されます。
フォームを右クリックし、[コードの表示] をクリックします。
コード エディターで、テーブル アダプターにデータを読み込むコード行を見つけます。 このコードは、手順 2. でデータ バインディングを設定したときに生成されます。 たとえば、TableAdapterName.Fill(DataSetName.TableName) のようになります。 このコードは、一般にフォームの Load イベントに含まれます。
作成済みの**[Load]**ToolStripButton の Click イベントのイベント ハンドラーを作成し、データ読み込みコードをこのハンドラーに移動します。
コードは次のようになります。
[Visual Basic]
Private Sub LoadButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoadButton.Click TableAdapterName.Fill(DataSetName.TableName) End Sub
[C#]
private void LoadButton_Click(System.Object sender, System.EventArgs e) { TableAdapterName.Fill(DataSetName.TableName); }
作成済みの [Save]ToolStripButton の Click イベントのイベント ハンドラーを作成し、コントロールがバインドされている、テーブル内のデータを更新するコードを記述します。
[Visual Basic]
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click TableAdapterName.Update(DataSetName.TableName) End Sub
[C#]
private void SaveButton_Click(System.Object sender, System.EventArgs e) { TableAdapterName.Update(DataSetName.TableName); }
注意
BindingNavigator コンポーネントには、既に[Save] ボタンが設定されている場合もありますが、Windows フォーム デザイナーによってコードは生成されていません。 このような場合は、ToolStrip で新しいボタンを作成するのではなく、既存のボタンの Click イベント ハンドラーに前述のコードを配置できます。 ただし、ボタンは既定で無効になっているため、ボタンの Enabled プロパティを true に設定し、ボタンが適切に機能するようにします。
作成済みの**[Cancel]**ToolStripButton の Click イベントのイベント ハンドラーを作成し、表示されているデータ レコードに対する変更をキャンセルするコードを記述します。
[Visual Basic]
Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelButton.Click BindingSourceName.CancelEdit() End Sub
[C#]
private void CancelButton_Click(System.Object sender, System.EventArgs e) { BindingSourceName.CancelEdit(); }
注意
CancelEdit メソッドのスコープはデータ行です。 個々のレコードの表示中に行った変更は、次のレコードに移動する前に保存してください。