Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net将查询输出绑定到gridview中的下拉列表中_Asp.net_Gridview_Drop Down Menu - Fatal编程技术网

asp.net将查询输出绑定到gridview中的下拉列表中

asp.net将查询输出绑定到gridview中的下拉列表中,asp.net,gridview,drop-down-menu,Asp.net,Gridview,Drop Down Menu,这适用于票务系统,票务处于不同状态,如“打开、拒绝、关闭、已解决…” 在asp.net中,我有一个gridview,在gridview中有文本框和下拉列表。 我可以从数据库中获取输出,并在gridview中填充它,还可以显示下拉列表中的内容。 如何将网格中dropdownlist的数据绑定到查询输出的数据。如果票证关闭,则应选择关闭;如果票证被拒绝,则应选择拒绝 在onrow命令中,我从另一个表中获取数据并填充到下拉列表中。这是完整的状态列表,如“oopen、rejected、closed、re

这适用于票务系统,票务处于不同状态,如“打开、拒绝、关闭、已解决…”

在asp.net中,我有一个gridview,在gridview中有文本框和下拉列表。 我可以从数据库中获取输出,并在gridview中填充它,还可以显示下拉列表中的内容。 如何将网格中dropdownlist的数据绑定到查询输出的数据。如果票证关闭,则应选择关闭;如果票证被拒绝,则应选择拒绝


在onrow命令中,我从另一个表中获取数据并填充到下拉列表中。这是完整的状态列表,如“oopen、rejected、closed、resolved..”

您的问题缺少详细信息,例如您在gridview中使用了什么标记,以及在RowDataBound事件中使用了什么代码

因此,我提供了一个示例答案,您可以轻松地适应您的情况

我假设您有一个id为
GridView1
的gridview,其中包含以下ItemTemplate(其他列已被省略,因为不需要它们来理解此方法)

模板中应该有一个隐藏字段,以便存储行的当前状态;另外,当您绑定gridview时,您应该得到一个名为
Status
的列

示例标记

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" 
              OnRowDataBound="GridView1_OnRowDataBound">
<Columns>      
    <asp:TemplateField HeaderText = "Status">
        <ItemTemplate>
            <asp:HiddenField ID="hfStatus" runat="server" Value='<%# Eval("Status") %>' />
            <asp:DropDownList ID="ddlStatus" runat="server">
            </asp:DropDownList>
        </ItemTemplate>
    </asp:TemplateField>
</Columns>

我曾经使用过此代码,现在可以使用了:

在asp文件中: 'Visible=“false”/

在.cs文件中 字符串currentStatus=(e.Row.FindControl(“lblStatus”)作为标签);
ddlStatus.Items.FindByValue(currentStatus).Selected=true

在绑定gridview时,您是否获得了票证的状态?否,我获得了特定票证的状态,取而代之的是DropDownList中的所有值签出我的答案,您需要根据该答案调整代码。如果在绑定gridview时未获取状态,则必须从当前的数据库中获取行在RowDataBound事件中的状态。否则,您将永远无法实现您的要求。您下面的代码使其工作正常//在DropDownList字符串currentStatus=(e.Row.FindControl(“hfStatus”)中选择状态作为HiddenField)。值;ddlStatus.Items.FindByValue(currentStatus).Selected=true;
protected void GridView1_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        //Find the DropDownList in the Row
        DropDownList ddlStatus = (e.Row.FindControl("ddlStatus") as DropDownList);
        ddlStatus.DataSource = GetStatusDropDownListData();
        ddlStatus.DataTextField = "Status";
        ddlStatus.DataValueField = "Status";
        ddlStatus.DataBind();


        //Select the Status in DropDownList
        string currentStatus = (e.Row.FindControl("hfStatus") as HiddenField).Value;
        ddlStatus.Items.FindByValue(currentStatus).Selected = true;
    }
}