如何从数据表加载gridview而不替换以前的数据

时间:2017-07-09 15:55:14

标签: asp.net gridview webforms

我有一个文本框txtId和一个网格视图,网格视图根据提供的id显示数据。没关系,但每当我第二次提供Id时,网格都会加载新数据,而我之前的id数据已从gidview中删除

我想要这样的事情:

enter image description here

每当我输入Idsecond时间之前的数据已经消失,我想要新的数据,如上图所示。

下面是我使用eval绑定网格的网格视图:

<asp:GridView ID="GVProduct" CssClass="table table-hover" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#999999" BorderStyle="Solid" BorderWidth="1px" CellPadding="3" ForeColor="Black" GridLines="None" AllowPaging="True">
        <AlternatingRowStyle BackColor="#CCCCCC" />
        <Columns>
              <asp:TemplateField HeaderText="Product Name">
                <ItemTemplate>
                    <asp:Label ID="lblProductName" runat="server" Text='<%#Eval("ItemName") %>' ></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
             <asp:TemplateField HeaderText="CP">
                <ItemTemplate>
                    <asp:Label ID="lblCP" runat="server" Text='<%#Eval("CostPrice") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
 </asp:GridView>

这就是按钮点击时加载网格的方式:

   protected void btnAdd_Click(object sender, EventArgs e)
        {
            int itemIds = Convert.ToInt32(txtPId.Text);
            int qty = Convert.ToInt32(txtQty.Text);
            if (txtPId.Text!=String.Empty || txtQty.Text != String.Empty)
            { 
                DataTable dt = bllProduct.GetProductById(itemIds);
                if (dt.Rows.Count>0)
                {
                    GVProduct.DataSource = dt;
                    GVProduct.DataBind();
                }
            }
        }

1 个答案:

答案 0 :(得分:0)

我认为GetProductById(itemIds)只返回一条记录,请在GetProductById方法中检查您的选择查询。