public void InstantiateIn(Control container)
{
Literal l = new Literal();
//创建Literal控件, 该控件表示在网页上保留显示静态文本的位置
l.DataBinding += new EventHandler(this.BindData);
//为控件添加事件,this.BindData为处理事件的方法,也可以:l.DataBinding += new EventHandler(BindData);
container.Controls.Add(l); //在容器中添加创建的Literal控件
}
// Create a public method that will handle the
// DataBinding event called in the InstantiateIn method.
//创建事件处理所调用的方法
public void BindData(object sender, EventArgs e)
{
Literal l = (Literal) sender; //确保对象为Literal类型
DataGridItem container = (DataGridItem) l.NamingContainer;
//创建容器
// DataGridItem表示 DataGrid 控件中的某项(行)。
// Literal 控件的NamingContainer属性获取对该服务器控件的命名容器的引用
l.Text = ((DataRowView) container.DataItem)[column].ToString();
// Literal 控件显示的文本
}