使用类似的绑定
BindingManagerBase customerBinding;
List<customer> customersList = .....;//赋值
private void DataBound()
{
textBoxName.DataBindings.Add("Text", customersList, "Name");
textBoxID.DataBindings.Add("Text", customersList, "ID"); customerBinding = BindingContext[customersList];
}使用下面的方法来访问各个元素
private void MoveNext()
{
customerBinding.Position++;
}
private void MoveForward()
{
customerBinding.Position--;
}
如果对 customersList进行重新赋值
customersList = new List<customer>();
customersList.Add(...);
......
会造成textBoxName和textBoxID的值不会发生改变,除非调用方法 MoveNext();我现在的解决办法是
private void DataBound()
{
textBoxName.DataBindings.Clear();
textBoxID.DataBindings.Clear();
textBoxName.DataBindings.Add("Text", customersList, "Name");
textBoxID.DataBindings.Add("Text", customersList, "ID"); customerBinding = BindingContext[customersList];
}
先清除控件的数据绑定,再重新绑定有没有比这更好的解决办法?