原来模版项,是新的一个实现ITemplate接口的类。这个接口的InstantiateIn方法就是控制添加哪些控件的。
在这个类定义完了后,把它的实例赋值给模版列的ItemTemplate属性。
1
private
class
EditTemplate : ITemplate
2 {
3
4 #region ITemplate Members
5
6 public void InstantiateIn(Control container)
7 {
8 Button btnEdit = new Button();
9 btnEdit.CommandName = " EditUserInfo " ;
10 btnEdit.ID = " btnEdit " ;
11 btnEdit.Text = " 编辑 " ;
12 container.Controls.Add(btnEdit);
13 }
14
15 #endregion
16 }
2 {
3
4 #region ITemplate Members
5
6 public void InstantiateIn(Control container)
7 {
8 Button btnEdit = new Button();
9 btnEdit.CommandName = " EditUserInfo " ;
10 btnEdit.ID = " btnEdit " ;
11 btnEdit.Text = " 编辑 " ;
12 container.Controls.Add(btnEdit);
13 }
14
15 #endregion
16 }
仔细思考下,这种处理模板方法妙,我们可以在模板类中进行复杂的控制和操作,然后透过一个接口方法把控件放到容器里面。