ankit gaur

ankit gaur

  • 1.4k
  • 298
  • 32.5k

On ADD TO CART button show item from Datalist to Gridview.

Oct 22 2021 9:17 AM

 Hello,

I am designing a item cart in asp.net C#.

On ADD TO CART button item add from Datalist to Gridview. Now what i do, if Item already exists in grdiview than item quanity increase by 1. Please help in c# Code.

ASPX Code-

<asp:DataList ID="dlemp" runat="server" DataKeyField="Id" Width="670px" 
                                                                    RepeatDirection="Horizontal" CellPadding="2" Font-Names="Times New Roman" ForeColor="Black" RepeatColumns="3">
                                                                    <%-- <AlternatingItemStyle BackColor="white" />
                                                                    <FooterStyle BackColor="Tan" />
                                                                    <HeaderStyle BackColor="Tan" Font-Bold="True" />--%>
                                                                    <ItemTemplate>
                                                                        <asp:Panel ID="Panel1" runat="server" BorderColor="white"
                                                                            BorderWidth="2px" CssClass="marg" BackColor="White" Height="250px" Width="210px">
                                                                            <div style="text-align: center; width: 210px;">
                                                                                <br />
                                                                                <asp:Image ID="imgEmp" Height="100px" Width="100px" runat="server" ImageUrl='<%# "data:image/jpg;base64," + Convert.ToBase64String((byte[])Eval("Image")) %>' />
                                                                                <div style="height: 12px;"></div>
                                                                                <div style="text-align: center;">
                                                                                    <asp:Label ID="lblProductName" runat="server" ForeColor="black" Font-Size="14px" Text='<%# Eval("ImageName") %>'></asp:Label>
                                                                                </div>
                                                                                <div style="text-align: center; color: black;">
                                                                                    ?&nbsp;<asp:Label ID="Label2" runat="server" ForeColor="black" Font-Size="14px" Text='<%# Eval("Price") %>'></asp:Label>
                                                                                </div>
                                                                                <div style="height: 10px;"></div>
                                                                                <asp:Label Visible="false" ID="ItemID" runat="server" Text='<%# Eval("Id") %>'></asp:Label>
                                                                                <asp:Button ID="btnadd" runat="server" Width="90px" Font-Size="12px" Text="Add To Cart" OnClick="AddToCart"></asp:Button>
                                                                            </div>
                                                                            <br />
                                                                        </asp:Panel>
                                                                    </ItemTemplate>
                                                                    <SelectedItemStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
                                                                </asp:DataList>

//GRIDVIEW

<asp:GridView ID="GridView1" runat="server" ShowHeader="false" ForeColor="Darkblue" EmptyDataText="Cart is Empty" Font-Size="13px" AutoGenerateColumns="false">
                                                            <Columns>
                                                                <asp:TemplateField>
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblImageN" runat="server" Width="120px" Text='<%#Eval("ImageName")%>' Style="text-align: left; padding-left: 4px;"></asp:Label>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                                <%-- <asp:BoundField DataField="ImageName" HeaderText="Item" ItemStyle-HorizontalAlign="left" ItemStyle-Width="120px" />--%>
                                                                <asp:BoundField DataField="Price" HeaderText="Price" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="40px" ItemStyle-CssClass="price" />
                                                                <asp:TemplateField HeaderText="Quantity">
                                                                    <ItemTemplate>
                                                                        <div style="height: 2px;"></div>
                                                                        &nbsp;<asp:Button ID="btn1" runat="server" Text=" - " Height="18px" CssClass="Minus" />
                                                                        <asp:TextBox ID="txtQuantity" runat="server" onblur="Calculation(this.value)" Width="28" Height="18px" Style="padding-top: 4px;"></asp:TextBox>
                                                                        <asp:Button ID="btn2" runat="server" Text=" + " Height="18px" CssClass="Plus" />&nbsp;
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                                <asp:TemplateField HeaderText="Total">
                                                                    <ItemTemplate>
                                                                        <asp:Label ID="lblTotal" runat="server" Width="67px" Text="0" Style="text-align: right; padding-right: 8px;"></asp:Label>
                                                                    </ItemTemplate>
                                                                </asp:TemplateField>
                                                            </Columns>
                                                            <EmptyDataTemplate>No Record Available</EmptyDataTemplate>
                                                        </asp:GridView>

 

 

C# Code

protected void AddToCart(object sender, EventArgs e)
    {
        string id = "";
        Button btn = (Button)sender;
        DataListItem item = (DataListItem)btn.NamingContainer;
        id += (item.FindControl("ItemID") as Label).Text;
        string query = "SELECT * FROM tablename where Id IN(" + id.TrimEnd(',') + ")";
        DataTable dt = GetData(query);
        if (Session["dt"] == null)
        {
            Session["dt"] = dt;
            GridView1.DataSource = dt;
            GridView1.DataBind();
            lblTotalItems.Text = "" + (GridView1.DataSource as DataTable).Rows.Count;
        }
        else
        {
            DataTable dt1 = Session["dt"] as DataTable;
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                dt1.Rows.Add(dt.Rows[i][0], dt.Rows[i][1], dt.Rows[i][2], dt.Rows[i][3]);
            }
            GridView1.DataSource = dt1;
            lblTotalItems.Text = " " + (GridView1.DataSource as DataTable).Rows.Count;
            GridView1.DataBind();
        }
    }


Answers (2)