我试图从gridview获取一个完整的数据副本,itryed clone(),尝试从DataSouce转换DataView,但总是得到空值或者无法获取数据,请存在一种从gridview复制数据,修改它然后然后重装吗?或直接修改gridview中的某些行? 提前谢谢!
答案 0 :(得分:1)
您可以尝试使用OnRowDataBound属性执行此类操作
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
//HeaderStuff
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
ObjectTye objectType = (ObjectType)e.Row.DataItem;
// and doing some stuff with the properties
e.Row.Cells[0].Text = objectType.SomeProperty.ToString();
LinkButton deleteLnk = (LinkButton)e.Row.FindControl("lnkDelete");
deleteLnk.Attributes.Add("onclick", "javascript:return " +
"confirm('Are you sure you want to delete this')");
deleteLnk.CommandArgument = e.Row.RowIndex.ToString();
}
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int rowIndex = int.Parse(e.CommandArgument.ToString());
GridViewRow row = GridView1.Rows[rowIndex];
ObjectType objectType = new ObjectType();
objectType.StringProperty = row.Cells[0].Text;
}
答案 1 :(得分:0)
您在尝试使用数据究竟是什么?它也是一个数据网格或数据视图,在什么框架下?如果它是您尝试从中复制行的数据网格,则循环遍历数据网格行并将行值添加到arraylist。
答案 2 :(得分:0)
为什么不将第二个网格绑定到第一个网格绑定的相同源?
DataGridView1.DataSource = yourList;
DataGridView1.DataBind();
...
DataGridView2.DataSource = yourList; //or = DataGridView1.DataSource;
DataGridView2.DataBind();
只要数据没有改变,你就应该得到一个精确的副本。