gpt4 book ai didi

asp.net - 将下拉列表绑定(bind)到gridview中的editItemTemplate和footerTemplate

转载 作者:行者123 更新时间:2023-12-02 12:06:51 24 4
gpt4 key购买 nike

我有一个网格,我尝试将下拉列表绑定(bind)到 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>

我正在使用这段代码,但没有运气。我无法将值绑定(bind)到下拉列表。如果我错了,有人可以纠正我吗?

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 并将绑定(bind)下拉列表的整个代码放入其中。

此外,要在页脚中查找下拉列表,您需要使用条件:

if (e.Row.RowType == DataControlRowType.Footer)

并且,要查找连续的下拉列表,请使用

if (e.Row.RowType == DataControlRowType.DataRow)

将 Dropdown 绑定(bind)到 GridViewRowDataBound 事件中。现在你的代码应该是::

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 - 将下拉列表绑定(bind)到gridview中的editItemTemplate和footerTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20837648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com