2010-05-10 239 views
0

自定义数据绑定控件中的自定义事件在DataRepeater控件中未触发。当我调试它时,我发现DataRepeater Control使用Activator.CreateInstance重新创建控件并复制属性和事件。在我的情况下复制事件不会复制我迷上了自定义事件将自定义数据绑定控件放置在Windows窗体的DataRepeater控件中时没有事件触发

例如

公共MyClass类:控制 { 公共事件的EventHandler MyEvent;

保护虚拟无效OnMyEvent() { 如果(this.MyEvent!= NULL){ this.MyEvent(此,EventArgs.Empty); } }

private int selectedIndex = -1; public int SelectedIndex { get { return this.selectedIndex; (this.selectedIndex!= value) { this.selectedIndex = value; this.OnMyEvent(); }} } // // 数据绑定的东西放在这里 //

}

公共Form1的(){ InitialiseComponent();

ArrayList list = new ArrayList(); list.Add(“one”);

this.dataRepeater1.DataSource = list; //一个中继器

MyClass test = new Myclass(); test.DataSource = GetDataTable();

this.dataRepeater1.ItemTemplate.Controls.Add(test);

test.MyEvent + = new EventHandler(test_MyEvent);

}

//此事件应该火时DataTable的选择的索引被改变,并且是当直接置于形式和DataRepeater控件不点火时地方烧成/////////// //////////// private void test_MyEvent(object sender,EventArgss e) { //此事件未被解雇///////////////// ////// }

私人数据表GetDataTable() { ..//创建数据表并返回 }

任何帮助赞赏。

谢谢,

+0

格式你的代码。 – AMissico 2010-05-10 12:47:47

回答