如何从gridview获取副本?

时间:2008-12-11 17:18:14

标签: .net gridview

我试图从gridview获取一个完整的数据副本,itryed clone(),尝试从DataSouce转换DataView,但总是得到空值或者无法获取数据,请存在一种从gridview复制数据,修改它然后然后重装吗?或直接修改gridview中的某些行? 提前谢谢!

3 个答案:

答案 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();

只要数据没有改变,你就应该得到一个精确的副本。