20100506 学习记录:grdview添加新的一行数据

目标:

每选择一个新的offercode,点按钮

把新记录添加进当前的grdview,并要记住之前添加的记录

 

思路:

从 offercode 取得该条记录信息

点击按钮添加时,给datatable创建一个新行填入数据,并保存到session

每次页面刷新从session中读入全部记录的datatable,并绑定grdview

 

=========================================================

   // 读取原有的GridView

        DataTable CargoInfoTable = ReadGridView();
        // 新增加一行
        DataRow newRow = CargoInfoTable.NewRow();
        // 将新增加的这一行添加到原有的GridView上
        CargoInfoTable.Rows.Add(newRow);
        // 设置最后一行的是否只读
        CargoInfoTable.Rows[CargoInfoTable.Rows.Count - 1]["EnableFlag"] = "1";
        // 将变化后的Table帮定在GridView上
        this.CargoInfo.DataSource = CargoInfoTable;

        this.CargoInfo.DataBind();

 

  private DataTable ReadGridView()
    {
        DataTable newDataTable = new DataTable("Table1");

        newDataTable = doAddOneLineColumns(newDataTable);

   for (int i = 0; i < CargoInfo.Rows.Count; i++)
        {
            GridViewRow gRow = CargoInfo.Rows[i];
            DataRow newRow = newDataTable.NewRow();
            newRow[0] = ((HtmlInputText)gRow.FindControl("CargoInListID")).Value;
            newRow[1] = ((HtmlInputText)gRow.FindControl("EnableFlag")).Value;
            newRow[2] = ((HtmlInputText)gRow.FindControl("pid")).Value;

     ........
     newRow[29] = ((TextBox)gRow.FindControl("Mender")).Text;
            newDataTable.Rows.Add(newRow);
        }
        newDataTable.AcceptChanges();
        return newDataTable;

    }

 

   /// <summary>
    /// 添加行之前,给这一行添加各个列名
    /// </summary>
    /// <param name="aimDataTable"></param>
    /// <returns></returns>
    private DataTable doAddOneLineColumns(DataTable aimDataTable)
    {
        aimDataTable.Columns.Add("CargoInListID");
        aimDataTable.Columns.Add("EnableFlag");
        aimDataTable.Columns.Add("pid");
        aimDataTable.Columns.Add("ProvideName");

    .......

     aimDataTable.Columns.Add("Mender");

        return aimDataTable;
    }


 

 

-------------------------------------------------------------------------------------------------------------------------

 

 

DataTable dt1 = new DataTable("Table1");
dt1.Columns.Add("ID");
dt1.Columns.Add("产品");
dt1.Columns.Add("数量");
dt1.Columns.Add("日期");
dt1.Columns.Add("状态");
for(int i =0;i<GridView1.Rows.Count;i++)
{
GridViewRow gRow = GridView1.Rows[i];
DataRow newRow = dt1.NewRow();
newRow[0] = GridView1.DataKeys[i].Value;
newRow[1] = ((TextBox)gRow.FindControl("TextBox1")).Text;
newRow[2] = ((TextBox)gRow.FindControl("TextBox2")).Text;
newRow[3] = ((TextBox)gRow.FindControl("TextBox3")).Text;
newRow[4] = ((DropDownList)gRow.FindControl("DropDownList1")).SelectedValue;
dt1.Rows.Add(newRow);
}

转载于:https://www.cnblogs.com/neru/archive/2010/05/06/1728992.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值