最近遇到的问题是首先编程生成一个gridview,然后往其中增加模板列,其中就有textbox模板.经查要实现Itemplate接口的InstantiateIn方法,而InstantiateIn方法中必须重新构造textbox,这样以来原来textbox中的属性和事件均不能传递过去
以下是部分代码:
GridView gridview=new GrdiView();
Textbox tb=new TextBox();
tb.id="test";
tb.textchanged+=....;
TemplateField texttemp=new TemplateField();
TextTemplate text=new TextTemplate(tb);
texttemp.itemplate=text;
gridview.Columns.Add(texttemp);
自定义的texttemplate模板类如下
public class TextBoxTemplate : ITemplate
{
private TextBox _tb;
public TextBoxTemplate(TextBox tb)
{
this._tb = tb;
}
public void InstantiateIn(Control container)
{
TextBox tb = new TextBox(); //得重新构造一个textbox,原来想直接吧textbox传进来,但是新增一行数据就出问题了
tb.DataBinding += new EventHandler(this.OnDataBinding);
container.Controls.Add(tb);
}
public void OnDataBinding(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
GridViewRow container = (GridViewRow)tb.NamingContainer;
tb.Text = ((DataRowView)container.DataItem)[this._colname].ToString();
}
以下是部分代码:
GridView gridview=new GrdiView();
Textbox tb=new TextBox();
tb.id="test";
tb.textchanged+=....;
TemplateField texttemp=new TemplateField();
TextTemplate text=new TextTemplate(tb);
texttemp.itemplate=text;
gridview.Columns.Add(texttemp);
自定义的texttemplate模板类如下
public class TextBoxTemplate : ITemplate
{
private TextBox _tb;
public TextBoxTemplate(TextBox tb)
{
this._tb = tb;
}
public void InstantiateIn(Control container)
{
TextBox tb = new TextBox(); //得重新构造一个textbox,原来想直接吧textbox传进来,但是新增一行数据就出问题了
tb.DataBinding += new EventHandler(this.OnDataBinding);
container.Controls.Add(tb);
}
public void OnDataBinding(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
GridViewRow container = (GridViewRow)tb.NamingContainer;
tb.Text = ((DataRowView)container.DataItem)[this._colname].ToString();
}
解决方案 »
- 请高手看看这母版页
- 以前有个公司 让做网站,他们有内部的网站,也有外部的网站,他们让外网的信息同时也显示在内网上,这个可以实现吗/?
- 组合键
- 如何动态地对一个string进行类型转换
- 系统时间被修改了,杀毒软件不能用,谁能告诉我怎么解决啊?
- 哪位大哥给小弟简单讲一下事件和委托是怎么回事?
- 100分问一个SQL语句
- 关于截取字符串
- 数据库查询问题
- 运行是出现“aspnet_wp进程正被另一用户使用”错误信息,在任务管理器中也不能结束进该进程,这是什么原因?怎么办?
- GridView一点编辑更新和取消就变成两行了,怎样不这样?
- 送分100!!!! 简单SQL问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
——————————————————————————————————————————
说明白你的意思?!
如下:
新增前:
textbox textbox
新增一列后:textbox textbox
上一列会出现空白 ,就是这个问题