Naqash Younis Ответов: 1

Gridview обновить значения текстового поля


Когда я ввожу продукт в Gridview и устанавливаю количество, которое я хочу продать, и он также показывает общую сумму в поданной этикетке, но один я ввожу второй продукт, он сбрасывает количество до 0, которое я ввожу раньше, а также сбрасывает общее значение суммы при нажатии кнопки.

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

при загрузке страницы
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
   If Not IsPostBack Then
     Dim dt As New DataTable()
            dt.Columns.AddRange(New DataColumn(3) {New DataColumn("ID"), New DataColumn("Item"), New DataColumn("Price"), New DataColumn("txtQuantity")})
            ViewState("Customers") = dt

   End If
End Sub

На Событие Нажатия Кнопки
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim dt As DataTable = DirectCast(ViewState("Customers"), DataTable)
       dt.Rows.Add(TextBox2.Text.Trim, itemcode.Trim(), 1000)
       ViewState("Customers") = dt
       GridView1.DataSource = dt
       GridView1.DataBind()
   End Sub

и в проектном представлении
<asp:GridView ID="GridView1" runat="server" CssClass="table table-responsive table-striped footable" PageSize="20" Style="max-width: 100%" AutoGenerateColumns="false" AutoGenerateDeleteButton="True" OnRowEditing="OnRowEditing" OnRowCancelingEdit="OnRowCancelingEdit" AutoGenerateEditButton="True">
    <Columns>
         <asp:BoundField DataField="ID" HeaderText="ID" ItemStyle-Width="10%"/>
        <asp:BoundField DataField="Item" HeaderText="Item" ItemStyle-Width="50%"/>
        <asp:BoundField DataField="Price" HeaderText="Price" ItemStyle-CssClass="price" ItemStyle-Width="10%"/>

        <asp:TemplateField HeaderText="Quantity" ItemStyle-Width="10%">
            <ItemTemplate>
                <asp:TextBox ID="txtQuantity" runat="server" ></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Total" ItemStyle-Width="20%">
            <ItemTemplate>
                <asp:Label ID="lblTotal" runat="server" Text="0"></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

1 Ответов

Рейтинг:
2

Sandeep Mewara

Вы еще не разорвали кодекс чести. OnRowEditing вот и кажется бы вмешаться в вашу логику.

Посмотрите на следующие примеры, чтобы увидеть, как это можно сделать:
Корзина Покупок | Microsoft Docs[^]
Отображение промежуточного итога и общего итога в ASP.Net GridView[^]
Проверка количества и общий расчет в ASP.NET корзина для покупок Gridview с jQuery - TechBrij[^]

попробуйте!


Naqash Younis

это код
Защищенный Sub OnRowEditing(отправитель как объект, e Как GridViewEditEventArgs)
Управления gridview1.EditIndex = е.NewEditIndex
Меня.BindGrid()
Конец Подводной Лодки

Sandeep Mewara

Приведенный выше код предназначен для:запуска кнопки редактирования внутри этой строки при нажатии.
Используйте отладчик и посмотрите поток выполнения, чтобы узнать больше.