我想在ASP.NET中
在GridView中直接添加一行新数据,不把这行数据添加到数据库中,请问要怎么实现呢

解决方案 »

  1.   

    可以向DataTable中添加DataRow,然后然后重新绑定GridView
      

  2.   

    GridView对插入的功能支持并不好,一般的做法是把要插入的行控件放在FootTemplate实现
      

  3.   

     DataColumn dc = new DataColumn();
                    dc.ColumnName = "Date";
                    ds.Tables["ExtensionList"].Columns.Add(dc);                gvview.DataSource = ds.Tables["ExtensionList"];
      

  4.   

    回4楼:
       你这种方法就等于重新创建一个数据源了啊,而且我GridView原先里就有数据,然后添加新行的。这样子这个数据源还要重新读取GridView中的数据,有没有办法不这样子呢。能不能直接向里边添加一行进去呢
      

  5.   


    DataTable dt = new DataTable();        dt.Columns.Add("id");
            for (int i = 0; i < 4; i++)
            {
                DataRow dr = dt.NewRow();
                dr["id"] = i;            dt.Rows.Add(dr);
            }
      

  6.   

    2楼的方法我不太明白,FootTemplate没玩过
      

  7.   

    用List<T>
    List< ProductItem > list = new List< ProductItem >();
    Model.ProductItem product = new Model.ProductItem();
    product.ProductID = int.Parse(productID);
    product.Version = version;
    product.Quantity = System.Convert.ToInt32(quantity);
    product.Price = Convert.ToDecimal(unitPrice);
    product.Note = note;
    list.Add(product);this.gv_product.DataSource = list;
    this.gv_product.DataBind();
      

  8.   

    你可以通过GridView中的FootTemplate这个模板实现,在点击添加按钮时,显示脚模块,添加数据在点击提交隐藏脚模板,在为GridView重新绑定数据,就可以了。
      

  9.   

    FootTemplate 这个模板我看了。。
    可是我要实现的功能是,,在GridView外面的几个文本框中填入要插到GridView的值,然后用一个Button的Click事件读取这几个文本框的值,生成一行新数据填加到GridView中,FootTemplate好像实现的不是这样的功能吧。
      

  10.   

    其实你还是没懂,
    人家给你的例子是new新数据源,(就是不用画公仔画出肠来而已)
    你就不会把你的数据源先赋过去吗?
    最后只是在你原有的数据源里插入了一条数据,再绑定到控件
      

  11.   


    可是得不到原先的数据源
    DataTable dt =GridView.DataSource as DataTable;
    这行得到的是空的。
      

  12.   

    你原来这个GridView.DataSource是怎么来的?
    就是GridView.DataSource=????这个东西
      

  13.   

    GridView.DataSource = ds.tables[0];
    DataTable dt  =  ds.tables[0];
    这样不就行了吗,不一定非要从GridView里面赋值呀!反正数据源是一样的!
      

  14.   

    如果像你这样子,就要定义一个全局的DataSet啊。
    可是asp.net 处理完一个WEB之后,Server中关于这些对象都会清除掉吗
    到时读取ds.table[0]的时候也是空值啊。
      

  15.   

    private static dataset ds;
      

  16.   


    原先这个数据源我也是自定义一个DataTable的数据源啊。
    同楼上我所说的,这个数据源定义在全局变量中也是没办法读取到的啊
      

  17.   


    那么现在这个问题的关键就是保存住这些数据, 如果全局不行, 那么你可以考虑通过一些中介的方式,
    例如: Session,ViewState之类的,等等.临时保存你需要的DataTable,要用的时候再拿来用就可以了.
      

  18.   

    DataTable dt = new DataTable();        dt.Columns.Add("id");
            for (int i = 0; i < 4; i++)
            {
                DataRow dr = dt.NewRow();
                dr["id"] = i;            dt.Rows.Add(dr);
            }
    这个是对的!  就这样就可以了。
      

  19.   

    构建一个新的datatable来跟gridview绑定