DropDownList в GridView для выбора в GridView BoundField - PullRequest
0 голосов
/ 07 января 2011

в ASP.NET 4 у меня есть GridView, который содержит DropDownList в разделе.DropDownList заполняется всеми необходимыми мне опциями из второго источника данных.Однако я хотел бы, чтобы каждый DropDownList в каждой строке имел разные SelectedIndex, установленные по умолчанию на основе данных, уже находящихся в GridView.

Например, вот пример данных

|  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 голосов
/ 07 января 2011

Вы можете подписаться на событие 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;
    }
}

- Павел

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...