Member 8583441 Ответов: 2

Кнопки Обновить и отменить не отображаются в gridview


Когда я нажимаю кнопку редактирования gridview из ItemTemplate of TemplateField, она не показывает мне кнопки обновления и отмены из EditItemTemplate of TemplateField.

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

Что я уже пробовал:

<asp:TemplateField ItemStyle-Width="30px" ItemStyle-Wrap="false">
    <ItemTemplate>
        <asp:Button ID="btnEdit" runat="server" Text="Edit" CssClass="btn btn-link text-center" ToolTip="edit data" CommandName="Edit" UseSubmitBehavior="false" CausesValidation="false" OnClick="btnEdit_Click" />
        <button type="button" id="btn" runat="server" disabled onserverclick="btn">
            Approve
        </button>
    </ItemTemplate>
    <EditItemTemplate>
        <asp:Button ID="btnUpdate" runat="server" Text="Update" CommandName="Update" CssClass="btn btn-link" UseSubmitBehavior="false" />
        <asp:Button ID="btnCancel" runat="server" Text="Cancel" CommandName="Cancel" CssClass="btn btn-link" UseSubmitBehavior="false" />
    </EditItemTemplate>                                            
</asp:TemplateField>

[no name]

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

Member 8583441

извините за поздний ответ, сэр. На самом деле происходит следующее gridview сворачивается и снова возвращается в нормальное состояние но кнопки update и cancel в поле edititemtemplate не отображаются

Member 8583441

Если EnableViewState=false, то постбэкинг данных и остается прежним.
Когда EnableViewState=true, то появляется ошибка "не удалось загрузить viewstate. Дерево элементов управления, в которое загружается viewstate, должно соответствовать дереву элементов управления, которое использовалось для сохранения viewstate во время предыдущего запроса. Например, при динамическом добавлении элементов управления элементы управления, добавленные во время обратной передачи, должны соответствовать типу и положению элементов управления, добавленных во время первоначального запроса."

2 Ответов

Рейтинг:
9

Member 8583441

Наконец я нашел решение..... Использование метода bind data из кода позади него не работает должным образом, и я удалил его и добавил sqldatasource для привязки данных из базы данных. Теперь он работает должным образом, как и ожидалось.....

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


Рейтинг:
2

Member 13658881

<asp:TemplateField HeaderStyle-Font-Bold="false" HeaderStyle-Font-Size="12px" HeaderText="Print" ItemStyle-Font-Bold="false" ItemStyle-Font-Size="12px" ItemStyle-Width="20px">
                       <ItemTemplate>
                           <asp:Button ID="butprint" runat="server" Text="Print" BackColor="Green" CommandName="Print" ForeColor="White" Width="50px" />
                       </ItemTemplate>
                       <HeaderStyle Font-Bold="True" Font-Size="12px" />
                       <ItemStyle Font-Bold="False" Font-Size="12px" Width="20px" />
                   </asp:TemplateField>