Как мы можем обработать событие onselectedindexchanged выпадающего списка в gridview/datalist?

У меня есть простой список данных с раскрывающимся списком и текстовым полем.

Когда выбранный индекс раскрывающегося списка изменяется, я хочу загрузить значение в текстовое поле в этом элементе списка (т. Е. Текстовое поле в этой конкретной строке).

<ItemTemplate>
    <asp:DropDownList runat="server" 
        ID="ddlCategory" AutoPostBack="true"
        DataTextField="category"
        DataValueField="category_code" 
        OnSelectedIndexChanged="ddlCategory_SelectedIndexChanged" />                      
    <br />
    Code<asp:TextBox 
        runat="server" 
        ID="txtOutputCode" 
        Text='<%# Bind("output_code") %>' />
</ItemTemplate>

Как мне это сделать?

Проблема, с которой я сталкиваюсь, заключается в том, как найти соответствующее текстовое поле для обновления.

Например. для кнопки я бы передал имя команды и аргументы команды. А затем я бы обработал событие в представлении сетки или списке данных, чтобы найти соответствующее текстовое поле и обновить текст. Что мы можем сделать в случае изменения выбранного индекса выпадающего списка?


person Zesty    schedule 23.02.2012    source источник


Ответы (2)


Думаю, это должно сработать. Попробуй это...

protected void ddlCategory_SelectedIndexChanged(object sender, EventArgs e)
{
   var ddlList= (DropDownList)sender;
   var row = (GridViewRow)ddlList.NamingContainer;
   //get the Id of the row
   var Id = Convert.ToInt32(((Label)row.FindControl("IdColumn")).Text);
}
person pavanred    schedule 23.02.2012
comment
а для списка данных используйте DatalListItem вместо GridViewRow. - person Jay Magwadiya; 01.09.2012

Вам следует сделать следующее:

private SomeObject o = new SomeObject();

private void o_SomeEvent(...) {
}

public TheConstructor() {
    this.o.SomeEvent += new SomeHandler(o_SomeEvent);
}

что означает, что вам нужно создать новый раскрывающийся список и прикрепить его событие к раскрывающемуся списку, который у вас есть в представлении сетки на itemdatabound

person Ali Issa    schedule 23.02.2012