Кнопка заголовка Gridview не обновляется - PullRequest
2 голосов
/ 27 июля 2011

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

Кнопка работает нормально, но в пределахобработчик щелчка изменяет текст, имя команды и шрифт.

Это никогда не работает (т.е. никаких изменений не происходит на кнопке), есть ли причина, по которой оно не должно работать?

GridviewASCX:

    <asp:GridView ID="GridView1" runat="server" Width="100%" AutoGenerateColumns="false" 
     AllowSorting="False">
    <HeaderStyle  />
    <RowStyle />
    <Columns>
        <asp:TemplateField>
            <HeaderTemplate>
                <table>
                    <tr>
                        <td>
                            <a>Name</a>
                            <asp:LinkButton ID="btnNameSort" runat="server" Text="Sort    Ascending" OnClick="btnNameSort_Click" CommandName="asc" />
                    </tr>
                </table>
            </HeaderTemplate>
            <ItemTemplate>
               ... Item code
            </ItemTemplate>

Это код:

    public void btnNameSort_Click(object sender, EventArgs e)
    {
        LinkButton btn = (LinkButton)GridView1.HeaderRow.FindControl("btnNameSort");
        if (btn.CommandName == "asc")
        {
            btn.Text = "Sort Descending";
            btn.Font.Bold = true;
            btn.CommandName = "desc";
            updateGridView1(true, "title");
        }
        else
        {
            btn.Text = "Sort Ascending";
            updateGridView1(false, "title");
        }

1 Ответ

0 голосов
/ 27 июля 2011

Я думаю, что GridView перерисовывается, и те изменения, которые вы внесли, не сохраняются. Я думаю, что есть метод DataBind в updateGridView .. верно? Я думаю, вы должны установить текст, сохранив направление сортировки и столбец сортировки в свойствах ViewState. Когда GridView восстанавливается, вы можете получить доступ к тем свойствам, которые теперь будут постоянными.

Кстати - я думаю, что это действительно хороший вопрос. Вы также можете подписаться на обработчик ItemCreated и получить заголовок. Если ваше направление сортировки хранится в состоянии просмотра, а столбец сортировки хранится в состоянии просмотра, вы можете найти искомую ячейку и соответственно отрегулировать ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...