日期:2014-05-19  浏览次数:20463 次

为什么Gridview的SelectedIndexChanged要执行两次才能看到效果?
第一次点击选择是有执行到gvUserList.SelectedRow.Cells.Add(tb);
的,但就是不显示,第二次点击才显示出来。
        protected   void   gvUserList_SelectedIndexChanged(object   sender,   EventArgs   e)
        {
                DetailsView   dv   =   new   DetailsView();
                dv.DataSource   =   odsDetails;
                dv.DataBind();
                TableCell   tb   =   new   TableCell();

                TableCell   tb2   =   new   TableCell();
                tb2.Attributes.Add( "colspan ",   "6 ");
                TableRow   tr   =   new   TableRow();
                tr.Controls.Add(tb2);
                tb2.Controls.Add(dv);
                tb.Controls.Add(tr);
                gvUserList.SelectedRow.Cells.Add(tb);
        }

------解决方案--------------------
Add后重新绑定
------解决方案--------------------
把DataBind();放在最後
------解决方案--------------------
你没有重新绑定的缘故,你重新绑定以后还要做一个事情,就是保存你选择的那一行,然后刷新以后显示你要选择的那一行要做的事情啊
------解决方案--------------------
记得重新绑定数据,特别是当提交数据给服务器之后