当前位置: 首页 > 知识库问答 >
问题:

如何从bindingsource中删除不影响列表中对象的对象

赏开宇
2023-03-14

我有两个数据成员SupID和SupplierName以及一个构造函数的类Supplier,然后我在Form1 load()时将这些对象添加到Supplier列表中。

    Dim lst As New List(Of Supplier)

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       AddList()
    End Sub

    Public Sub AddList()
       lst.Add(New Supplier("Sup1", "Supplier1"))
       lst.Add(New Supplier("Sup2", "Supplier2"))
       lst.Add(New Supplier("Sup3", "Supplier3"))
       lst.Add(New Supplier("Sup4", "Supplier4"))
       lst.Add(New Supplier("Sup5", "Supplier5"))
    End Sub

然后我想在单击发送按钮时通过其新的即时构造函数将lst发送到Form2:

    Private Sub cmdSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSend.Click
       Dim frm As New Form2(lst)
       frm.Show(Me)
    End Sub

下一步在表格2中,代码如下:

    Dim lst As New List(Of Supplier)
    Dim bs As BindingSource

    Public Sub New(ByVal lst As New List(Of Supplier)
       Me.InitializeComponent()
       Me.lst = lst
       bs = new BindingSource(lst,nothing)
    End Sub

然后我想从bs中删除对象:

    Public Sub cmdRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRemove.Click
       bs.RemoveCurrent()
    End Sub

问题是,当我从Form2中的bs中删除对象时,Form1中lst中的对象也会受到影响。那么如果我不希望Form1中的列表受到影响,我该怎么办呢?

提前谢谢你。。。。

共有1个答案

濮阳耀
2023-03-14

尝试将表单2中的代码更改为:

Dim lst As List(Of Supplier)
Dim bs As BindingSource

Public Sub New(ByVal lst As List(Of Supplier))
   Me.InitializeComponent()
   Me.lst = New List(Of Supplier)(lst)
   bs = new BindingSource(Me.lst, Nothing)
End Sub

 类似资料:
  • 假设我有一个雇员对象列表,每个雇员类都有雇员姓名、雇员地址、工资等属性。现在我必须删除名称为“John”和Salary的雇员对象 列表empList=new ArrayList 根据我的理解,若要解雇具有上述情况的员工,我应使用以下代码: 因此,基本上上述代码将从列表中删除所需的Employee对象。如果我的理解正确,请告诉我。 除此之外,请澄清以下几点:1.当我们有数百万条记录时,我们将如何解决

  • 问题内容: 如果我需要从List中删除一个对象(假设字符串“ abc” linkedList或ArrayList),则可以删除哪一个?(我认为两者都是相同的) ,如果我使用Linkedlist和arraylist,那么时间和空间的复杂度是多少 (我相信两者的时间复杂度都为O(n)相同) 问题答案: 两者都具有相同的时间复杂度-O(n),但是恕我直言,该版本会更快,尤其是在大型列表中,因为当您从数组

  • 问题内容: 我的代码有一个问题,我做了一个示例程序来显示链接列表中的emp详细信息,现在当我尝试删除特定条目时出现问题意味着它无法正常工作,希望我在代码中犯了一些错误你能建议怎么做吗? 问题答案: 您无法在列表(添加,删除…项目)上进行迭代操作。您必须使用迭代器 参见http://docs.oracle.com/javase/6/docs/api/java/util/Iterator.html

  • 问题内容: 我有一个从mysql数据库附加的对象列表,并包含空格。我希望删除下面的空格,但是im使用的代码不起作用? 问题答案: Python中的字符串是不可变的(这意味着它们的数据无法修改),因此replace方法不会修改字符串-它返回一个新字符串。您可以按以下方式修复代码: 但是,实现目标的更好方法是使用列表理解。例如,以下代码使用以下命令从列表中的每个字符串中删除前导和尾随空格:

  • 我有两个对象列表,它们在两个列表中都有重复名称。我需要从清单2中删除清单1中的所有重复值。 下面是一个场景,类有名称变量,用这个变量需要检查清单1中的重复值并需要删除。 //这是具有3个对象的第一个列表 清单1大小为1 请建议我在Java8与流。

  • 问题内容: 我创建了许多对象,然后将它们存储在列表中。但是我想在一段时间后删除它们,因为我创建了一个新闻,并且不希望我的内存过高(就我而言,如果不删除它,它会跳到20 gigs的内存)。 这里有一些代码来说明我要做什么: A和B是我的对象。C是这两个对象的列表。我正在尝试使用C中的for循环将其删除:一次是使用DEL,另一次是使用一个函数。它似乎不起作用,因为打印继续显示对象。 我需要这个,因为我