怎么给gridview添加databound事件
1个回答
2015-04-19 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517199
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
最近在使用gridview,添加模板后,网站对于模板按钮操作的代码很多都是在RowDataBound事件中,照抄使用后,本来没有问题。但是在这次做gridview的筛选功能的时候,发现一点小问题,就是我的dropdownlist中有一个是和数据库绑定的,于是在page_load事件中,给这个下拉框添加一个全部的选项。因为我的gridview放在了updatepanel中,每次更新数据后,这个gridview都重新从数据库获取。所以每次这样的时候,这个下拉框的选项又回复到刚开始的时候,少了我添加的自定义选项。于是我在gridview的RowDataBound事件中写:
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList dd = (DropDownList)GridView1.HeaderRow.FindControl("DropDownList1");
ListItem it = new ListItem("all", "all");
dd.Items.Insert(0, it);
}
结果是我的数据行有多少项,这个下拉框就多加了多少个“all”选项。显然是不对的。
仔细看了看,研究了下,终于明白了。每一个数据行绑定后,都调用一次这个函数。
解决办法:很简单,看看gridview的事件中,有一个DataBound事件,就明白了。这个应该是全部数据绑定后调用的函数吧。这样就调用一次了。每次更新gridview的数据,或者说重新绑定,当在updatapanel中把下拉框也更新了的时候,在这里重新添加自定义的选项就可以了。
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList dd = (DropDownList)GridView1.HeaderRow.FindControl("DropDownList1");
ListItem it = new ListItem("all", "all");
dd.Items.Insert(0, it);
}
结果是我的数据行有多少项,这个下拉框就多加了多少个“all”选项。显然是不对的。
仔细看了看,研究了下,终于明白了。每一个数据行绑定后,都调用一次这个函数。
解决办法:很简单,看看gridview的事件中,有一个DataBound事件,就明白了。这个应该是全部数据绑定后调用的函数吧。这样就调用一次了。每次更新gridview的数据,或者说重新绑定,当在updatapanel中把下拉框也更新了的时候,在这里重新添加自定义的选项就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询