none
嵌套中的ListView无法正确删除记录。 RRS feed

  • 问题

  • 有两个ListView,lv1和lv2,lv2是嵌套在lv1中的。我是在lv1的ItemDataBound事件中对lv2进行数据绑定的。代码如下。

    ListView lv = (ListView)e.Item.FindControl("lv2");
    DataTable dt = new DataTable();

    //填充数据
    dt = GetInfo();

    //循环dt,并删除所有行

    for (int j = 0; j < dt.Rows.Count;j++ )
    {
        dt.Rows[j].Delete();
    }

    dt.AcceptChanges();

    此时并没有删除这个dt下面的所有行。而是根据一定规律删除的。

    例如lv1中一共显示3条记录
    其中lv1中的第一条记录在lv2嵌套中绑定10条记录
    其中lv1中的第二条记录在lv2嵌套中绑定3条记录
    其中lv1中的第三条记录在lv2嵌套中绑定7条记录

    当通过循环dt删除记录时。中能删除行号为单的记录。例如此例只能删除lv1第一条记录在lv2绑定中10条记录的1、3、5、7、9行的记录,2、4、6、8、10删除不了。

    lv1第二条记录在lv2绑定的3条记录,只能删除1、3行,第二行删除不了。

    只能删除行号为单数的记录,双数的删除不了,请问该如何才能删除。

    我需要根据条件来筛选dt中的记录。

    lv.DataSource = dt;
    lv.DataBind();

     

    2011年9月30日 4:37

答案

全部回复