Re: DataGrid и DropDownList
От: kocta Россия  
Дата: 26.07.02 05:30
Оценка: 6 (2)
Здравствуйте tamtam, Вы писали:

T>В режиме редактирования одно из полей грида представляется в виде выпадающего списка возможных значений.

T>Все работает, но есть проблема. Как установить текущее значение в списке соответствующее значению поля.
T>Целый день ищу, ничего не получается.
T>На всякий случай ниже фрагмент этого поля:

T> <asp:TemplateColumn HeaderText="статья расходов">

T> <ItemTemplate>
T> <asp:label id="BudgetType" runat="server">
T> <%# DataBinder.Eval(Container.DataItem, "budget_type")%>
T> </asp:label>
T> </ItemTemplate>
T> <EditItemTemplate>
T> <asp:DropDownList runat="server"
T> ID="BudgetTypeList"
T> DataSource="<%# BudgetTypeList()%>"
T> DataTextField="descript"
T> DataValueField="budget_type_id"
T> >
T> </asp:DropDownList>
T> </EditItemTemplate>
T> В DropDownList нужно выбрать строку соответствующую label


Привожу пример своего кода.
Нужно у грида обрабатывать событие ItemDataBound.
В моем случае DropDownList называется list.
Думаю все ясно.
private void Grid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
DataRowView Dr = (DataRowView)e.Item.DataItem;
switch (e.Item.ItemType)
{
case ListItemType.EditItem:
{
if (((DropDownList)e.Item.FindControl("list")).Items.FindByText(Dr["NAME"].ToString())!=null)
{
((DropDownList)e.Item.FindControl("list")).Items.FindByText(Dr["NAME"].ToString()).Selected=true;
}
break;
}

}
}
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.