每次向gridview中的数据表添加新行 [英] adding new row everytime to datatable in gridview

查看:70
本文介绍了每次向gridview中的数据表添加新行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

先生您好,

我通过提交按钮输入一些数据到带有5个文本框的gridview中.为此,我创建了一个数据表,并添加了这些列和行.但是每当我进入第二行时,它就会覆盖第一行而不显示两行.
我的要求是我要输入100行并在gridview中显示它们.为此,我该怎么办?如果有人知道,请帮助我.有人请给我适当的解决方法.
如何编写for循环以每次创建新行.
我的代码如下.
谢谢.

Hello sir,

I am entering some data to gridview with 5 textboxes by submit button. For this I created a datatable and I added those columns and rows. But whenever I am entering in second row, it is overriding the first row and not displaying two rows.
My requirement is that I want to enter 100 rows and display them in gridview. To do this what do I do? If anybody knows, please help me. Somebody please give me a proper solution.
How can I write a for loop to create new row every time.
My code is below.
Thank you.

public partial class PurchaseOrder1 : System.Web.UI.Page
{
    DataTable dt = new DataTable();
    protected void GVProductOrderBind()
    {
        GVProductOrder.DataSource = dt;
        GVProductOrder.DataBind();
        Session["GVTable"] = dt;
        
    }
    protected void InsertToGrid()
    {
        DataRow drNew = dt.NewRow();
        drNew["ItemCode"] = TxtItemCode.Text;
        drNew["ItemName"] = TxtItemDescription.Text;
        drNew["EanCode"] = TxtEanCode.Text;
        drNew["Cost"] = TxtCP.Text;
        drNew["MRP"] = TxtMRP.Text;
        drNew["SP"] = TxtSP.Text;
        drNew["MBQ"] = TxtACP.Text;
        drNew["Quantity"] = TxtQty.Text;
        drNew["FreeQty"] = TxtFreeQty.Text;
        drNew["FixedDisc"] = TxtDiscPercentage.Text;
        drNew["Tax"] = TxtTaxPercentage.Text;
        drNew["Value"] = TxtValue.Text;
        drNew["OnOrder"] = TxtOnOrder.Text;
        drNew["Remarks"] = TxtQOH.Text;
        drNew["Type"] = TxtUOP.Text;
        dt.Rows.Add(drNew);
        GVProductOrderBind();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
              //dt.Columns.Add("ItemCode", System.Type.GetType("System.String"));
                DataRow dr = dt.NewRow();
                dt.Columns.Add("ItemCode");
                dt.Columns.Add("ItemName");
                dt.Columns.Add("EanCode");
                dt.Columns.Add("Cost");
                dt.Columns.Add("MRP");
                dt.Columns.Add("SP");
                dt.Columns.Add("MBQ");
                dt.Columns.Add("Quantity");
                dt.Columns.Add("FreeQty");
                dt.Columns.Add("FixedDisc");
                dt.Columns.Add("Tax");
                dt.Columns.Add("Value");
                dt.Columns.Add("OnOrder");
                dt.Columns.Add("Remarks");
                dt.Columns.Add("Type");

                dt.Rows.Add(dr);
                GVProductOrderBind();
           
        }
        catch (Exception ex)
        {
            throw ex;
        }       
       
    }
    protected void BtnClose_Click(object sender, EventArgs e)
    {
        Response .Redirect ("~/Welcome.aspx");
    }
    protected void BtnSave_Click(object sender, EventArgs e)
    {
        try
        {       
          DataTable dt = (DataTable)Session["GVTable"];
          InsertToGrid();
        }
        catch (Exception ex)
        {
          throw ex;
        }
    }
}

推荐答案

在页面加载事件中添加了错误的代码. 跟随
On page Load Event You Added Wrong Code..
Do Following
Datatable dt=new Datatable();



删除这些



Remove these,

DataRow dr = dt.NewRow();
dt.Rows.Add(dr);



看起来还好吧尝试一下



ther seem all right Try IT


这篇关于每次向gridview中的数据表添加新行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆