Witam,

Poniżej prezentuje swój kod:

<asp:GridView ID="GroupsGV" runat="server"
                                    DataSourceID="GroupsSDS"
                                    AutoGenerateColumns="false"
                                    DataKeyNames="Group_Id"
                                    AutoGenerateEditButton="true"
                                    AutoGenerateDeleteButton="true"
                                    EmptyDataText="Nie znaleziono żadnych danych"
                                    OnRowDeleted="RowDeleted"
                                    OnRowEditing="GroupsGV_RowEditing"
                                    OnSelectedIndexChanged="SelectedIndexChanged">
                                    <Columns>
                                        <asp:TemplateField HeaderText="Nazwa">
                                            <ItemTemplate>
                                                <asp:Label ID="SelectGroupsNameL" runat="server" Text='<%# Eval("Name") %>' />
                                            </ItemTemplate>
                                            <EditItemTemplate>
                                                <asp:TextBox ID="EditGroupsNameL" runat="server" Text='<%# Eval("Name") %>' />
                                            </EditItemTemplate>
                                        </asp:TemplateField>
                                        <asp:TemplateField HeaderText="Liczba osób w grupie">
                                            <ItemTemplate>
                                                <asp:Label ID="SelectGroupsNumberOfStudentsL" runat="server" Text='<%# Eval("NumberOfStudents") %>' />
                                            </ItemTemplate>
                                            <EditItemTemplate>
                                                <asp:TextBox ID="EditGroupsNumberOfStudentsL" runat="server" Text='<%# Eval("NumberOfStudents") %>' />
                                            </EditItemTemplate>
                                        </asp:TemplateField>
                                        <asp:TemplateField HeaderText="Rocznik">
                                            <ItemTemplate>
                                                <asp:Label ID="SelectGroupsYearbookL" runat="server" Text='<%# string.IsNullOrEmpty(Eval("Yearbook_Id").ToString()) ? "-- brak --" : Eval("Names") %>' />
                                            </ItemTemplate>
                                            <EditItemTemplate>
                                                <asp:HiddenField ID="EditYearbook_Id" runat="server" Value='<%# Eval("Yearbook_Id") %>' />
                                                <asp:DropDownList ID="EditGroupYearbookDDL" runat="server"
                                                    DataValueField="Yearbook_Id"
                                                    DataTextField="Names"
                                                    DataSourceID="AllYearbooksSDS"
                                                    AppendDataBoundItems="true">
                                                </asp:DropDownList>
                                            </EditItemTemplate>
                                        </asp:TemplateField>
                                    </Columns>
                                </asp:GridView>
protected void GroupsGV_RowEditing(object sender, GridViewEditEventArgs e)
        {
            ButtonField obj = (ButtonField)sender;
            HiddenField objHF = (HiddenField)obj.Parent.FindControl("EditYearbook_Id");
            DropDownList objDDL = (DropDownList)obj.Parent.FindControl("EditGroupYearbookDDL");

            //...
        }

Problem polega na tym że nie potrafię odnaleźć kontrolek zawartych w EditItemTemplate, podczas nacisnięcia ButtonField Edit potrzebuje odwołać się to kontrolki DropDownList oraz HiddenField utworzonej akurat w tym wierszy gdzie aktywowałem edycje. Jak to wykonać?

p.s. Próbowałem też takiego sposobu, jednak otrzymuje komunikat że index wykracza poza zakres tzn że jest ujemny więc edycja w tym momencie ma wartość -1

HiddenField objHF = (HiddenField)GroupsGV.Rows[GroupsGV.EditIndex].FindControl("EditYearbook_Id");
            DropDownList objDDL = (DropDownList)GroupsGV.Rows[GroupsGV.EditIndex].FindControl("EditGroupYearbookDDL");