自定義數據綁定控件中的自定義事件在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() { ..//創建數據表並返回 }
任何幫助讚賞。
謝謝,
格式你的代碼。 – AMissico 2010-05-10 12:47:47