首页 文章

GridView中的DropDownList选择GridView BoundField

提问于
浏览
0

在ASP.NET 4中,我有一个GridView,它在该部分中包含一个DropDownList . DropDownList填充了我需要的第二个数据源的所有选项 . 但是,我希望每行中的每个DropDownList都基于GridView中已有的数据在默认情况下设置不同的SelectedIndex .

例如,这是样本数据

|  id  |     Status    |  hidden  |  First Name  |
--------------------------------------------------
|  12  |   <dropdown>  |     3    |  john  doe   |
|  13  |   <dropdown>  |     7    |  jane  ble   |

所以你会注意到第3列是隐藏的,这意味着我将它设置为:

<asp:BoundField DataField="StatusName" HeaderText="Status" Visible="false" />

但是,此列中已编辑的行包含我需要DropDownList默认显示的值() .

换句话说,我需要

<option select="selected">something</option>

根据“隐藏”字段中的数字选择适当的索引 .

也许有任何想法?

1 回答

  • 2

    您可以订阅 RowDataBound 事件,以便在下拉列表中选择正确的值:

    protected void myGrid_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        DropDownList lst = null;
        string hiddenStatus = string.Empty;
    
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            hiddenStatus = e.Row.Cells[2].Text;
            lst = (DropDownList)e.Row.FindControl("dropDownIdentifier");
    
            lst.SelectedValue = hiddenStatus;
        }
    }
    
    • 帕维尔

相关问题