繁体   English   中英

Winforms .NET DataRepeater-未绑定的复选框不会在滚动状态下保持选中/未选中状态

[英]Winforms .NET DataRepeater - Unbound checkboxes won't maintain checked / unchecked state on scroll

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

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

复选框是未绑定的,使用户可以选择列出的尽可能多的零件,然后在这些项目上编辑属性。 我遇到的问题是在运行时选择一个复选框。 我可以选择一个项目,然后快速向下滚动列表,突然之间,许多其他项目的复选框被选中了……似乎是随机的。 就像当我滚动时,datarepeater会触发复选框或其他事件。 我不太确定 否则复选框可以正常工作,并且使用户能够正确选择项目,我只是想不出为什么对复选框进行随机检查/取消选中。

我认为这与DataRepeaterItem中的CheckBox控件没有数据绑定有关。 所有其他字段都是,但是该复选框不是,因此当我上下滚动Repeater时,这些复选框会丢失其状态。 我目前正在重做我的类对象,以允许保留每个项目的“已检查”状态。

任何人确认或否认这是怎么回事?

谢谢!

当我在设置绑定源之前设置中继器的数据源时,这种情况就发生了。 我希望它能为您指明正确的方向。 这是我的代码摘录

    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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM