0

我有一个 WinForms 应用程序,它从数据库中检索项目并将它们显示在列表中:

<Delete Button><Edit Button><Checkbox><PartNumber><PartDescription>

Checkbox 是未绑定的,用户可以选择尽可能多的列出的部分,然后编辑这些项目的属性。我遇到的问题是当我在运行时选择一个复选框时。我可以选择一个项目,然后快速向下滚动列表,突然之间,许多其他项目的复选框被选中……似乎是随机的。就好像当我滚动时,数据中继器在复选框或其他东西上触发事件。我不太确定。否则复选框工作正常,并使用户能够正确选择项目,我只是无法弄清楚为什么随机检查/取消选中复选框。

4

2 回答 2

0

当我在设置绑定源之前设置转发器的数据源时,这发生在我身上一次。我希望它为您指明正确的方向。这是我的代码的摘录

    Dim sres As New frmSearchResults
    Dim dt As DataTable = resultsDataTable
    With sres
        .lblDate.DataBindings.Add(New Binding("Text", dt, "createtime", True))
        .lblOwner.DataBindings.Add(New Binding("Text", dt, "owner", True))
        .lblTicketNumber.DataBindings.Add(New Binding("Text", dt, "ticketnumber", True))
        .lblTitle.DataBindings.Add(New Binding("Text", dt, "tickettitle", True))
        .txtExcerpt.DataBindings.Add(New Binding("Text", dt, "excerpt", True))
        .btnLoad.DataBindings.Add(New Binding("Tag", dt, "ticketid", True))


        .dr1.DataSource = dt 'this used to come before my bindings above

        sres.Show()

    End With
于 2011-01-19T21:53:10.467 回答
0

我认为这与 DataRepeaterItem 中的 CheckBox 控件没有数据绑定有关。所有其他字段都是,但复选框不是这样,当我上下滚动中继器时,复选框会失去它们的状态。我目前正在修改我的类对象以允许保留每个项目的“已检查”状态。

有人确认或否认这是正在发生的事情吗?

谢谢!

于 2010-12-10T22:43:39.603 回答