public class GridViewTemplate : ITemplate {
private DataControlRowType templateType;
private string columnName;
public GridViewTemplate(DataControlRowType type, string colname)
{
templateType = type;
columnName = colname;
}
public void InstantiateIn(System.Web.UI.Control container)
{
switch (templateType)
{
case DataControlRowType.Header:
Literal lc = new Literal();
lc.Text = columnName ;
container.Controls.Add(lc);
break;
case DataControlRowType.DataRow:
TextBox data = new TextBox();
data.DataBinding += new EventHandler(data_DataBinding);
container.Controls.Add(data);
break;
default:
break;
}
} private void data_DataBinding(object sender, EventArgs e)
{
TextBox l = (TextBox)sender;
GridViewRow row = (GridViewRow)l.NamingContainer;
l.Width = 60;
l.Text = DataBinder.Eval(row.DataItem, columnName).ToString();
} }
//以上动态添加templatefield的方法。private void setFields()
{
string e = DropDownList1.SelectedValue;
string f = DropDownList2.SelectedValue;
kc = Request.QueryString["kc"];
string col5 = kc + e + f;
TemplateField customField=new TemplateField();
customField.HeaderTemplate = new GridViewTemplate(DataControlRowType.Header, kcname.HeaderText);
customField.ItemTemplate = new GridViewTemplate(DataControlRowType.DataRow, col5);
GridView1.Columns.Add(customField);
}
//将动态生成的TemplateField添加到GridView1中,
问题是如果我想对添加后的TemplateField进行编辑、更新等如何操作?谢谢!各位人心人士的“帮助”!
private DataControlRowType templateType;
private string columnName;
public GridViewTemplate(DataControlRowType type, string colname)
{
templateType = type;
columnName = colname;
}
public void InstantiateIn(System.Web.UI.Control container)
{
switch (templateType)
{
case DataControlRowType.Header:
Literal lc = new Literal();
lc.Text = columnName ;
container.Controls.Add(lc);
break;
case DataControlRowType.DataRow:
TextBox data = new TextBox();
data.DataBinding += new EventHandler(data_DataBinding);
container.Controls.Add(data);
break;
default:
break;
}
} private void data_DataBinding(object sender, EventArgs e)
{
TextBox l = (TextBox)sender;
GridViewRow row = (GridViewRow)l.NamingContainer;
l.Width = 60;
l.Text = DataBinder.Eval(row.DataItem, columnName).ToString();
} }
//以上动态添加templatefield的方法。private void setFields()
{
string e = DropDownList1.SelectedValue;
string f = DropDownList2.SelectedValue;
kc = Request.QueryString["kc"];
string col5 = kc + e + f;
TemplateField customField=new TemplateField();
customField.HeaderTemplate = new GridViewTemplate(DataControlRowType.Header, kcname.HeaderText);
customField.ItemTemplate = new GridViewTemplate(DataControlRowType.DataRow, col5);
GridView1.Columns.Add(customField);
}
//将动态生成的TemplateField添加到GridView1中,
问题是如果我想对添加后的TemplateField进行编辑、更新等如何操作?谢谢!各位人心人士的“帮助”!
能够全心投入去做一件事,这本身就是一种才能。