Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将数据从一个GridView附加到第二个GridView?_C#_Asp.net_.net_Gridview - Fatal编程技术网

C# 如何将数据从一个GridView附加到第二个GridView?

C# 如何将数据从一个GridView附加到第二个GridView?,c#,asp.net,.net,gridview,C#,Asp.net,.net,Gridview,我有GridView1,其结果在我的事件触发后发生更改。 我需要将数据(不是复制)从GridView1追加到我的GridView,并保存GridView1中的所有结果 以下是我的代码(不完整)和我的目标: private void BindQuestions(int quiz) { //i have fuction that run this each time with difrant id //and GridView1 thatsho

我有GridView1,其结果在我的事件触发后发生更改。 我需要将数据(不是复制)从GridView1追加到我的GridView,并保存GridView1中的所有结果

以下是我的代码(不完整)和我的目标:

      private void BindQuestions(int quiz)
        {
       //i have fuction that run this each time with difrant id
       //and GridView1 thatshows me result each time
       DataSet oDs = SqlHelper.ExecuteDataset(sCon, "Ps_Quiz_GetQsns",quiz));
       GridView1.DataSource = oDs.Tables[0];
       GridView1.DataBind();
        }

 //my goal
          private void appendToGridView2 ()
          {
        //i need some think like this
        GridView2.DataSource.append(GridView1.DataSource);
        GridView2.DataBind();
          }
更新:

这是完整的解决方案:

            bool DoMerge =false//this is global and static
            if (Session["currentDataSet"] == null)
            {
                Session["currentDataSet"] = SqlHelper.ExecuteDataset(sCon, "Ps_Quiz_GetQsns", Int32.Parse(ddlQuestionTypeName.SelectedValue), Int32.Parse(ddlQuestionSubTypeName.SelectedValue)); ;
            }
            QuestionsCollection = (DataSet)(Session["currentDataSet"]);
            if (DoMerge) QuestionsCollection.Merge(SqlHelper.ExecuteDataset(sCon, "Ps_Quiz_GetQsns",quiz);
            DoMerge = true;
            Session["currentDataSet"] = QuestionsCollection;
            GridViewAllQuestions.DataSource = QuestionsCollection;
            GridViewAllQuestions.DataBind()
如果您创建:

  • 现有gridView1数据集gridView1中的数据集
  • 来自gridView2数据集gridView2的数据集

    GridView2.DataSource=dataSetGridView1.Merge(dataSetGridView2)


  • 当您设置作为服务器端事件的DataSource时,页面将再次呈现,并创建每一行,因此您将附加要绑定的DataTables。 当前数据源应保存在会话中

    Session["currentDataSet"] = dataTableName;
    dataTableNew.Merge((DataTable)Session["currentDataSet"]);
    GridView2.DataSource = dataTableNew;
    GridView2.DataBind();
    
    下面将提供一些帮助:
    将数据从gridview1复制到gridview2的代码

    protected void Button1_Click(object sender, EventArgs e)
        {
            var dt2 = new DataTable();
            dt2.Columns.Add("col1", typeof(string));
            dt2.Columns.Add("col2", typeof(string));
            /....
    
            int row = gv1.Rows.Count;
            int col = gv1.Rows[0].Cells.Count;
    
            for (int i = 0; i < row; i++)
            {
                DataRow rw = dt2.NewRow();
                for (int j = 0; j < col; j++)
                {
                    rw[j] = gv1.Rows[i].Cells[j].Text;
                }
                dt2.Rows.Add(rw);
            }
    
           gv2.DataSource = dt2;
           gv2.DataBind();
        }
    
    受保护的无效按钮1\u单击(对象发送者,事件参数e)
    {
    var dt2=新数据表();
    dt2.Columns.Add(“col1”,typeof(string));
    添加(“col2”,typeof(string));
    /....
    int row=gv1.Rows.Count;
    int col=gv1.Rows[0].Cells.Count;
    对于(int i=0;i