在代码后面将 Data 绑定到 GridView 的 ITemplate
如何以编程方式将数据绑定到 GridView 的自定义项模板列?到目前为止,我已经做了类似的事情:
TemplateField foo = new TemplateField();
foo.ItemTemplate = new bar();
this.GridView1.Columns.Add(foo);
其中 bar 是这样的:(
public class bar : ITemplate
{
public bar()
{
}
public void InstantiateIn(Control container)
{
DropDownList ddl = new DropDownList();
container.Controls.Add(ddl);
}
}
填充了实际的下拉列表)
但是 ITemplate 不包含任何要实现的数据绑定属性,并且 TemplateField 类似乎没有任何一个...
我该怎么办?
编辑:另一半是能够处理更新以返回原始数据源。如果我只处理 rowupdate 事件,则在旧值/新值列表中看不到我的 TemplateColumn。
How do I programmatically bind data to a custom item template column for a GridView? So far, I've done something similar to this:
TemplateField foo = new TemplateField();
foo.ItemTemplate = new bar();
this.GridView1.Columns.Add(foo);
where bar is like this:
public class bar : ITemplate
{
public bar()
{
}
public void InstantiateIn(Control container)
{
DropDownList ddl = new DropDownList();
container.Controls.Add(ddl);
}
}
(the actual dropdownlist is populated)
But ITemplate doesn't contain any kind of data binding properties to implement, and the TemplateField class doesn't seem to have any either...
What do I do?
Edit: The other half is being able to handle the updates to get back to the original datasource. If I just handle the rowupdate events, I don't see my TemplateColumn in the oldvalues/newvalues lists.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您处理 GridView.RowDataBound 事件。
这解释了事情...
http://www.aspnettutorials.com/tutorials/controls/dropdownlist- gridview-csharp.aspx
You handle the GridView.RowDataBound event.
This explains things...
http://www.aspnettutorials.com/tutorials/controls/dropdownlist-gridview-csharp.aspx