我就想通过 按button 不停的往DataGrid2 插数据 ,DataGrid2 中要显示我插入的所有数据,而不是 只插一次的数据。

解决方案 »

  1.   

    did you save the DataTable in a Session variable or retrieve all the data from your database?
      

  2.   

    DataRow myRow = New DataRow ?
      

  3.   

    点击一次按钮后,一条记录加进了DataTable,跟datagrid帮定后显示出多了一条记录,但是你在点击了另一个按钮后,再次加记录时的哪个DataTable是不是前一次已经加过一条记录的那个DataTable了呢?
    如果你每次加了记录后没有保存到数据库,或者是把DataTable保存在Session中的话,下次就没法再次取回上次已经增加记录的那个DataTable的内容了
      

  4.   

    我是在查询的时候  
      用户先查询出一部分记录  ,然后插入 DataGrid2中,
      用户再查询出一部分记录  , 插入DataGrid2中 ,
      最后把DataGrid2(几次查询的结果 ) 中的记录保存到数据库中。
      

  5.   

    DataGrid只是用来显示数据源的数据,绑定数据源后就忠实的反映数据源的数据,所以你在Datatable中增加的数据,要保存这个DataTable到数据库或者保存在Session中.否则上次添加的记录会丢失的
      

  6.   

    chnking(kent)
    请问怎么样将DataTable保存在Session中?能否给出例子啊?
      

  7.   

    保存:
    DataTable myDataTable = myDataSet.Tables[0];
    Session["myTable"] = DataTable ;取回:
    DataTable myDataTable = (DataTable)Session["myTable"];
      

  8.   

    还是一样 ,前次添加的记录丢失private void Page_Load(object sender, System.EventArgs e)
    {
      // 在此处放置用户代码以初始化页面
      df.Setconnect_string();
      df.Open_Data();//打开这个连结是为了更新数据用的  dataset=df.Open_Data_Set("tax_fs_temp","SELECT top 0 qybm,qymc,dh FROM tax_fs_temp");  DataGrid2.AllowPaging=true;
      DataGrid2.DataSource=dataset.Tables[0].DefaultView;
      Session["myTable"] = dataset.Tables[0] ;  if(!this.Page.IsPostBack)
      {
        DataGrid2.CurrentPageIndex=0;
        DataGrid2.DataBind();
      }
    }private void Button1_Click(object sender, System.EventArgs e)
    {
    DataRow myRow;
    myRow=((DataTable)Session["myTable"]). NewRow();
    //用相应值填写数据行 myRow["qybm"]="qybm1";
    myRow["qymc"]="qymc1";
    myRow["dh"]="dh1";
    //填写完毕,将数据行添加到数据集
    dataset.Tables[0].Rows.Add(myRow);
    dataset.Tables[0].AcceptChanges(); DataGrid2.DataBind(); Session["myTable"] = dataset.Tables[0] ;  
    }
    private void Button4_Click(object sender, System.EventArgs e)
    { DataRow myRow;
    myRow=((DataTable)Session["myTable"]). NewRow();
    //用相应值填写数据行 myRow["qybm"]="qybm";
    myRow["qymc"]="qymc";
    myRow["dh"]="dh";
    //填写完毕,将数据行添加到数据集
    dataset.Tables[0].Rows.Add(myRow);
    dataset.Tables[0].AcceptChanges(); DataGrid2.DataBind(); Session["myTable"] = dataset.Tables[0] ;
    }
      

  9.   

    DataGrid2.DataBind();我不是帮了吗?
      

  10.   

    /*********事件二***********/
    DataRow myRow;myRow=dataset.Tables["tax_fs_temp"].NewRow();
    //用相应值填写数据行myRow["qybm"]="qybm1";
    myRow["qymc"]="qymc1";
    myRow["dh"]="dh1";
    //填写完毕,将数据行添加到数据集
    dataset.Tables["tax_fs_temp"].Rows.Add(myRow); DataGrid2.DataBind();
    //--------------------------------
    if(dataset.hasChanged())
    {
        dataset.Updata()......
        //好像是这样,没有编译环境,无法测试
    }
      

  11.   

    应该再dataset中数据改变以后,存入数据库中。。再.....
      

  12.   

    我就是不想查询一次就存入数据库中,而想最后存入。我在调试的过程中  发现 我做事件一 Session["myTable"] = dataset.Tables[0] ;  //这句后 Session["myTable"] 中是有 我新加的row  ,
    但是当我再去做事件二时
    myRow=((DataTable)Session["myTable"]). NewRow();    //这句时 Session["myTable"] 中没有我在事件一中保存的row  ,好像 Session 没有起保存  DataTable 的作用(没有row) ??
      

  13.   

    to  hmzz(zz)   那怎么绑???
      

  14.   

    我觉得可以这样先定义一个全局static DataTable dt,
    然后在事件处理程序中往dt中加入New Row,而用dt来绑定数据。不过可别忘了private void Page_Load(object sender, System.EventArgs e)
    {
      ....
      if(!this.Page.IsPostBack)
      {
         ...
          初始化 dt ;  
         ...   
      }
      ....
    }