Raghavendra HG Ответов: 4

Поиск элемента управления внутри шаблона заголовка представления сетки


У меня есть такая сетка...

<asp:GridView ID="gdv" runat="server">
            <Columns>
                <asp:TemplateField>
                    <HeaderTemplate>
                        <asp:TextBox ID="txt" runat="server"></asp:TextBox>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:Label ID="lbl" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "col1") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:DropDownList ID="ddl" runat="server" DataTextField="item" DataValueField="value"></asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>





Как найти элемент управления TextBox, который находится внутри одного из шаблонов заголовка в коде позади (код C#)?

4 Ответов

Рейтинг:
32

vinayak_99

Обработав событие RowDataBound () gridview, вы можете найти элемент управления Textbox внутри шаблона заголовка.

protected void gdv_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (gdv.HeaderRow != null)
        {
            TextBox txt = (TextBox)gdv.HeaderRow.FindControl("txt");
        }
    }


Рейтинг:
2

Member 10219828

Вот что сработало для нас:

частный недействительными Lab_1_GV1_Populate_SearchText()
{
GridView GV1 = (GridView)FindControl ("Lab_1_GV1");
TextBox TXB1 = (TextBox)GV1.HeaderRow. FindControl ("Lab_1_TX2GV1");
}


[no name]

Этот вопрос был задан и на него был дан ответ более 3 лет назад. Нет никакой реальной необходимости отвечать на него снова.

Рейтинг:
1

ShafiqA

protected void chkSelectAll_CheckedChanged(object sender, EventArgs e)
    {
        CheckBox chk;

        foreach (GridViewRow rowItem in GridView1.Rows)
        {
            chk = (CheckBox)(rowItem.Cells[0].FindControl("chk1″));
            chk.Checked =((CheckBox)sender).Checked;
        }
    }


Arun Jacob

Если вы используете форматирование, пост будет более читабельным.

Raghavendra HG

Это не сработает, чувак, так как вы находите элемент управления внутри строк.