asp.net – 将下拉列表绑定到gridview中的editItemTemplate和foo
发布时间:2020-12-16 06:27:23 所属栏目:asp.Net 来源:网络整理
导读:我有一个网格,我尝试将下拉列表绑定到FooterTemplate和EdiItemTemplate. asp:TemplateField HeaderText="Role" SortExpression="Role" HeaderStyle Width="100px" HorizontalAlign="Center" Wrap="False"/HeaderStyle EditItemTemplate asp:DropDownList ID=
我有一个网格,我尝试将下拉列表绑定到FooterTemplate和EdiItemTemplate.
<asp:TemplateField HeaderText="Role" SortExpression="Role"> <HeaderStyle Width="100px" HorizontalAlign="Center" Wrap="False"></HeaderStyle> <EditItemTemplate> <asp:DropDownList ID="ddlRole" runat="server"> </asp:DropDownList> </EditItemTemplate> <FooterTemplate> <asp:DropDownList ID="ddlFRRole" runat="server"> </asp:DropDownList> </FooterTemplate> <ItemTemplate> <asp:Label ID="lblRole" runat="server" Text='<%# Bind("[Role_Cd]") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> 我使用此代码,没有运气.我无法将值绑定到下拉列表.如果我错了,任何人都可以纠正我吗? protected void UPGrid_RowDataBound(object sender,GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { DropDownList ddlRole = (DropDownList)e.Row.FindControl("ddlRole"); DropDownList ddlFRRole = (DropDownList)e.Row.FindControl("ddlFRRole"); ddlRole.DataSource = UPRepository.GetRoles(); ddlRole.DataTextField = "Role_Cd"; ddlRole.DataValueField = "Role_Cd"; ddlRole.DataBind(); ddlFRRole.DataSource = UPRepository.GetRoles(); ddlFRRole.DataTextField = "Role_Cd"; ddlFRRole.DataValueField = "Role_Cd"; ddlFRRole.DataBind(); } } 解决方法
您应首先检查并比较RowIndex与要编辑的GridView的EditIndex,并将整个代码绑定到下拉列表中.
此外,要在页脚中查找下拉列表,您需要使用条件: if (e.Row.RowType == DataControlRowType.Footer) 并且,用于连续查找下拉列表使用 if (e.Row.RowType == DataControlRowType.DataRow) 将您的Dropdown绑定在GridView的RowDataBound事件中. protected void MyGridView_RowDataBound( object sender,GridViewRowEventArgs e) { if(MyGridView.EditIndex == e.Row.RowIndex ) //GET THE ROW TO BE EDITED { if (e.Row.RowType == DataControlRowType.DataRow) { DropDownList ddlRole = (DropDownList)e.Row.FindControl("ddlRole"); // Rest of Code } if (e.Row.RowType == DataControlRowType.Footer) { DropDownList ddlFRRole = (DropDownList)e.Row.FindControl("ddlFRRole"); // Rest of code } } 另一种选择是使用以下条件来检查正在编辑的行:: if ((e.Row.RowState & DataControlRowState.Edit) > 0) 或等效:: if(e.Row.RowState == DataControlRowState.Edit) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 在IIS上运行时,ASP.NET Web应用程序中的模
- asp.net – web.config和machine.config之间的区别?
- asp.net – 性能缓慢的Azure’Web App’Azure SQL DB
- 如何在ASP.NET MVC模型中为POST保存选定的DropDownList值?
- asp.net – Dotnet核心2.0使用身份与JwtBearer身份验证
- 在将所有websocket数据发送到客户端之前,ASP.NET关闭连接
- asp.net-mvc – ASP.NET MVC区域中的自定义错误覆盖
- asp.net-mvc – 在Html.ActionLink(MVC 4)中使用Html.Displ
- asp.net-mvc-3 – 当使用Html.TextBoxFor时,将模型的名称添
- asp.net-mvc-3 – 在部署服务器中编辑ASP.NET MVC 3 resx文
推荐文章
站长推荐
- asp.net-mvc – 如果我在单个页面中添加多个表单
- asp.net-mvc – 如何使用可选的查询字符串参数测
- asp.net-web-api – 具有Web Api RC的Ninject In
- asp.net-web-api – 无法从’Microsoft.Identity
- asp.net-mvc – ASP MVC.NET3本地IIS7对象引用错
- asp.net-mvc – ASP.NET MVC模型绑定器的问题
- asp.net-mvc – 使用自定义段变量设置ASP.Net MV
- asp.net core 2.0 入门攻略 第一章 环境部署
- asp.net-mvc-3 – Razor C# – 设置复选框值
- 使用ASP.NET循环>
热点阅读