2014-01-31 3 views
1

Итак, у меня есть сетка. Один из столбцов в gridview имеет выпадающий список для всех строк. Можно ли запустить метод, когда какой-либо из вариантов выбора раскрывающихся списков сетки будет изменен?GridView при изменении выпадающего списка списка

Я попытался добавить onselectedindexchange для выпадающего списка в шаблоне элемента, но это не сработало.

Любые идеи?

<Gridview> 
    <Columns> 
     <asp:TemplateField> 
     <ItemTemplate> 
      <asp:DropDownList runat="server"> 
       <asp:ListItem Value="Yes">Yes</asp:ListItem> 
       <asp:ListItem Value="No">No</asp:ListItem> 
      </asp:DropDownList> 
     </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</GridView> 

ответ

3

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

<Gridview> 
    <Columns> 
     <asp:TemplateField> 
     <ItemTemplate> 
      <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
        onselectedindexchanged="DropDownList1_SelectedIndexChanged"> 
       <asp:ListItem>4</asp:ListItem> 
       <asp:ListItem>3</asp:ListItem> 
       </asp:DropDownList> 
     </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</GridView> 

Вы можете иметь функцию, как показано ниже

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    DropDownList ddl = (DropDownList)sender; 
    GridViewRow row = (GridViewRow)ddl.Parent.Parent; 
    int idx = row.RowIndex; 
    // TextBox txtECustCode = (TextBox)row.Cells[0].FindControl("txtECustCode"); 
+0

Благодаря Адилю также. Я просто пропустил автоповтор, когда я дал ему исход. – Safinn

+0

@Safinn добро пожаловать. –

1

Вы должны использовать GridView.RowCommand события, а не на SelectedIndex Changed. Также добавьте AutoPostBack="true", вы можете использовать CommandArguments, чтобы передать аргументы, если вам нужно.

void ContactsGridView_RowCommand(Object sender, GridViewCommandEventArgs e) 
{ 
     DropDownList DropDownList1 = (DropDownList)row.FindControl("DropDownList1"); 
} 
+0

Ahh ок. Включается ли rowCommand в раскрывающемся списке или gridview? Я отдам его. – Safinn

+0

Я не могу добавить CommandName в выпадающий список. Все остальное в порядке. – Safinn

Смежные вопросы