[英]Textbox values not changing on BindingContext Changed event
当前,要更改单击下一步按钮形式在文本字段中显示的记录,我正在使用以下代码以编程方式将下一记录的值分配给相关文本框:
int CurrentRowIndex = this.BindingContext[DS1, "Table1"].Position;
int NextRoecordIndex = CurrentRowIndex + 1;
然后,我在数据集中的文本框中使用NextRecordIndex ot填充值。 我希望在单击“下一步”按钮后执行以下代码,则下一条记录应自动填充。
this.BindingContext[DS1, "Table"].Position -= 1;
您在听BindingContextChanged事件吗? 也许您需要向文本框的BindingContextChanged事件添加事件委托,或在其派生类中重写。
您需要实现事件处理程序。 为此,创建成员函数,每次事件在文本控件中发生时都将调用该成员函数。 要收听此事件,请将您创建的成员函数附加(注册)到文本框的事件委托。 现在,每次文本框触发其BindingContextchanged事件时,都将调用附加到其委托的所有函数。
创建每次事件发生时要调用的函数。
private void AssignNextRecordIndex_OnBindingContextChanged(object sender, EventArgs e)
{
// do ur task on bindingcontext changed
}
添加或注册以收听事件:
MyTextBox.BindingContextChanged += AssignNextRecordIndex_OnBindingContextChanged;
而已。
要分离或停止收听此事件(如有必要),请使用:
MyTextBox.BindingContextChanged -= AssignNextRecordIndex_OnBindingContextChanged;
您可以根据需要为事件添加尽可能多的功能。
您还可以在MSDN上找到有关此特殊事件的信息: Control.BindingContextChanged事件
以及.NET 事件(C#编程指南)中有关事件的一些基础知识
如果您创建了自己的自定义TextBox控件,例如:
class MyCustomTextBox : TextBox
{...}
您可以改写继承的OnBindingContextChanged方法(不要忘记调用基本方法):
protected override void OnBindingContextChanged(EventArgs e)
{
base.OnBindingContextChanged(e);
// do your stuff
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.