费了很大周折,才找个这个LoveCherry - (原创)DataGrid动态添加模板列的一个例子
原来模版项,是新的一个实现ITemplate接口的类。这个接口的InstantiateIn方法就是控制添加哪些控件的。
在这个类定义完了后,把它的实例赋值给模版列的ItemTemplate属性。
仔细思考下,这种处理模板方法妙,我们可以在模板类中进行复杂的控制和操作,然后透过一个接口方法把控件放到容器里面。
原来模版项,是新的一个实现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 }
仔细思考下,这种处理模板方法妙,我们可以在模板类中进行复杂的控制和操作,然后透过一个接口方法把控件放到容器里面。