次の方法で共有


方法 : DataRepeater の項目の追加と削除を無効にする (Visual Studio)

既定では、ユーザーは DataRepeater コントロール内の項目を追加および削除できます。ユーザーは、DataRepeaterItem にフォーカスがあるときに Ctrl キーを押しながら N キーを押すか、BindingNavigator コントロールの AddNewItem ボタンをクリックして新しい項目を追加できます。ユーザーは、DataRepeaterItem にフォーカスがあるときに Del キーを押すか、BindingNavigator コントロールの DeleteItem ボタンをクリックして項目を削除できます。

追加と削除の機能は、デザイン時または実行時に無効にできます。

デザイン時に追加と削除を無効にするには

  1. Windows フォーム デザイナーで、DataRepeater コントロールを選択します。

    [!メモ]

    コントロールの下部セクションを選択する必要があります。項目テンプレート セクションを選択している場合は、異なるプロパティ一式が表示されます。

  2. [プロパティ] ウィンドウで、AllowUserToAddItems プロパティを False に設定します。

  3. AllowUserToDeleteItems プロパティを False に設定します。

  4. Windows フォーム デザイナーで、BindingNavigator コントロールを選択し、AddNewItem ボタン (正符号が表示されているボタン) をクリックします。

  5. [プロパティ] ウィンドウで、Enabled プロパティを False に設定します。

  6. Windows フォーム デザイナーで、BindingNavigator コントロールを選択し、DeleteItem ボタン (赤い X が表示されているボタン) をクリックします。

  7. [プロパティ] ウィンドウで、Enabled プロパティを False に設定します。

  8. コンポーネント トレイで、DataRepeater がバインドされている BindingSource を選択します。

  9. [プロパティ] ウィンドウで、AllowNew プロパティを False に設定します。

  10. Windows フォーム デザイナーで、DeleteItem ボタンをダブルクリックしてコード エディターを開きます。

  11. [イベント] ボックスの BindingNavigatorDeleteItem_EnabledChanged イベントをクリックします。

  12. BindingNavigatorDeleteItem_EnabledChanged イベント ハンドラーに次のコードを追加します。

    If BindingNavigatorDeleteItem.Enabled = True Then
        BindingNavigatorDeleteItem.Enabled = False
    End If
    
    if (bindingNavigatorDeleteItem.Enabled == true)
    {
        bindingNavigatorDeleteItem.Enabled = false;
    }
    

    [!メモ]

    現在のレコードが変更されるたびに BindingSource によって DeleteItem ボタンが有効になるため、この手順が必要となります。

実行時に追加と削除を無効にするには

  1. Windows フォーム デザイナーで、フォームをダブルクリックしてコード エディターを開きます。

  2. Form_Load イベントに次のコードを追加します。

    DataRepeater1.AllowUserToAddItems = False
    DataRepeater1.AllowUserToDeleteItems = False
    BindingNavigatorAddNewItem.Enabled = False
    ordersBindingSource.AllowNew = False
    BindingNavigatorDeleteItem.Enabled = False
    
    dataRepeater1.AllowUserToAddItems = false;
    dataRepeater1.AllowUserToDeleteItems = false;
    bindingNavigatorAddNewItem.Enabled = false;
    ordersBindingSource.AllowNew = false;
    bindingNavigatorDeleteItem.Enabled = false;
    
  3. BindingNavigatorDeleteItem_EnabledChanged イベント ハンドラーに次のコードを追加します。

    If BindingNavigatorDeleteItem.Enabled = True Then
        BindingNavigatorDeleteItem.Enabled = False
    End If
    
    if (bindingNavigatorDeleteItem.Enabled == true)
    {
        bindingNavigatorDeleteItem.Enabled = false;
    }
    

    [!メモ]

    現在のレコードが変更されるたびに BindingSource によって DeleteItem ボタンが有効になるため、この手順が必要となります。

参照

処理手順

DataRepeater コントロールのトラブルシューティング (Visual Studio)

関連項目

DataRepeater

概念

DataRepeater コントロールの概要 (Visual Studio)