如何:禁止添加和删除 DataRepeater 项 (Visual Studio)

默认情况下,用户可以在 DataRepeater 控件中添加和删除项。 用户可以在 DataRepeaterItem 具有焦点时通过按 Ctrl+N 来添加新项,或通过单击 BindingNavigator 控件上的**“添加新项”按钮来添加新项。 用户可以在 DataRepeaterItem 具有焦点时通过按 Delete 来删除项,或通过单击 BindingNavigator 控件上的“删除项”**按钮来删除项。

您可以在设计时或运行时禁止添加和/或删除项。

禁止在设计时添加和删除项

  1. 在 Windows 窗体设计器中,选择 DataRepeater 控件。

    备注

    必须选择控件的下半部分。如果选择项模板部分,将显示一组不同的属性。

  2. 在“属性”窗口中,将 AllowUserToAddItems 属性设置为**“False”**。

  3. AllowUserToDeleteItems 属性设置为**“False”**。

  4. 在 Windows 窗体设计器中选择 BindingNavigator 控件,然后单击**“添加新项”**按钮(该按钮上有一个加号)。

  5. 在“属性”窗口中,将 Enabled 属性设置为**“False”**。

  6. 在 Windows 窗体设计器中选择 BindingNavigator 控件,然后单击**“删除项”**按钮(该按钮上有一个红色的 X)。

  7. 在“属性”窗口中,将 Enabled 属性设置为**“False”**。

  8. 在组件栏中选择 DataRepeater 将要绑定到的 BindingSource

  9. 在“属性”窗口中,将 AllowNew 属性设置为**“False”**。

  10. 在 Windows 窗体设计器中双击**“删除项”**按钮打开代码编辑器。

  11. 在“事件”下拉列表中选择 BindingNavigatorDeleteItem_EnabledChanged 事件。

  12. 将以下代码添加到 BindingNavigatorDeleteItem_EnabledChanged 事件处理程序中:

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

    备注

    此步骤是必需的,因为每当当前记录发生更改时,BindingSource 都将启用“删除项”按钮。

禁止在运行时添加和删除项

  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 都将启用“删除项”按钮。

请参见

任务

DataRepeater 控件疑难解答 (Visual Studio)

参考

DataRepeater

概念

DataRepeater 控件简介 (Visual Studio)