更改DataRepeater中GroupBox中单选按钮的选择将更改其他单选按钮的选择

时间:2014-05-19 19:43:23

标签: vb.net radio-button groupbox datarepeater

我有一个DataRepeater,其中我有一个Label(LabelID)和一个包含RadioButtons的GroupBox。我将标签绑定到DataTable中的一列,我想要做的是让用户有机会在DataRepeater的每个单元格中选择一个单选按钮,然后根据进度我希望阅读用户的内容选择每个细胞。问题是,当用户开始选择单选按钮并向下滚动以选择DataRepeater中其他单元格的单选按钮时,先前的选择会更改,甚至用户尚未选择的选项也会被选中。我不知道为什么会这样。

以下是我所做的代码:

LabelID.DataBindings.Clear()
LabelID.DataBindings.Add(New Binding("Text", SomeDataTable, "SomeID"))
myDataRepeater.DataSource = SomeDataTable

我在Visual Studio拖放框架中添加了包含RadioButtons的GroupBox。

我尝试了以下绑定作为我认为可以解决问题的东西,但事实并非如此。

GroupBoxSelection.DataBindings.Clear()
GroupBoxSelection.DataBindings.Add(New Binding("Tag", SomeDataTable, "SomeID"))

我知道它与向上和向下滚动DataRepeater有关。因为我增加了DataRepeater的大小以摆脱ScrollBar,这种奇怪的行为不再发生。我无法保持DataRepeater那么大,所以我想找到另一个解决方案。

任何帮助将不胜感激?

1 个答案:

答案 0 :(得分:0)

我不知道DataRepeater如何正常工作,但如果重复使用控件来提高性能,我不会感到惊讶。如果是这样,那么您的控件可能会在移动时保留其值。您可能尝试的是创建一个用户控件来包含RadioButtons并公开您可以绑定的单个属性。如果实例被重用,那么绑定应该像其他控件那样正确更新。