C# 如何将数据从一个GridView附加到第二个GridView?
我有GridView1,其结果在我的事件触发后发生更改。 我需要将数据(不是复制)从GridView1追加到我的GridView,并保存GridView1中的所有结果 以下是我的代码(不完整)和我的目标: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
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()
如果您创建:
当您设置作为服务器端事件的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|