我需要将选定的行从一个GridView添加到ASP.NET C#中的另一个GridView。
因此我在我的项目中实现了将所选行从一个网格复制到另一个网格的代码。
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection sc = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=x;Integrated Security=True");
sc.Open();
SqlDataAdapter sd = new SqlDataAdapter("select * from BookDetails", sc);
DataSet ds = new DataSet();
sd.Fill(ds, "BookDetails");
sc.Close();
GridView1.DataSource = ds;
GridView1.DataBind();
}
protected void GridView1_SelectedIndexChanged1(object sender, EventArgs e)
{
GridViewRow row = GridView1.SelectedRow;
GridView2.DataSource = row; //error here
GridView2.DataBind();
}
当我运行项目时,出现错误(GridView2.DataSource =行;):- “数据源是无效类型。它必须是IListSource,IEnumerable或IDataSource。”
答案 0 :(得分:0)
您是否尝试过将“行”类型转换为“ IListSource,IEnumerable或IDataSource”?如果这不起作用,则可能是因为GridView2.DataSource只能是IListSource,IEnumerable或IDataSource,因此这根本是不可能的。我不完全了解您在函数“ GridView1_SelectedIndexChanged1”中要执行的操作。