首页新闻找找看学习计划

asp.net页面刷新问题

0
悬赏园豆:20 [已解决问题] 解决于 2012-11-30 08:48

我的web界面有两个aspxGridView控件(这个是DevExpress中的控件),分别为ASPxGridView1、ASPxGridView2。我想在ASPXGridView1的ASPxGridView1_RowDeleting事件执行时重新绑定ASPxGridView2的数据源来刷新ASPxGridView2,但是没有成功!(ASPxGridView1的数据是可以刷新的)请高手指点下,代码如下:

 

 protected void ASPxGridView1_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
        {
            try
            {
                DataTable dataTable = (DataTable)Session["dtPart"];
                e.Cancel = true;
                dataTable.PrimaryKey = new DataColumn[] { dataTable.Columns["SINo"], dataTable.Columns["BoschPN"] };
                dataTable.Rows.Remove(dataTable.Rows.Find(new object[] { e.Keys["SINo"].ToString(), e.Keys["BoschPN"].ToString() }));
                //还应该删除package表中的记录
                ASPxGridView1.DataSource = dataTable;
                ASPxGridView1.DataBind();
                DataTable dtPackage = (DataTable)Session["dtPackage"];
                DataRow[] rows = dtPackage.Select("BoschPN='" + e.Keys["BoschPN"].ToString() + "'");
                foreach (DataRow row in rows)
                {
                    dtPackage.Rows.Remove(row);
                }  

               ASPxGridView2.DataSource = dtPackage;
               ASPxGridView2.DataBind();              
             }
            catch (Exception ex)
            {

            }                      
        }

rayna的主页 rayna | 初学一级 | 园豆:186
提问于:2012-11-29 10:26
< >
分享
最佳答案
0

感谢大家的帮助,问题我已经解决了,主要是dev的控件的问题,解决方法是在ASPxGridView1

EndCallback时perform ASPXGridView2的callback

遇到同样问题的可参看:http://www.devexpress.com/Support/Center/p/K18387.aspx

rayna | 初学一级 |园豆:186 | 2012-11-30 08:46
其他回答(2)
0

一般服务器控件的方法执行之后 会刷新页面 看你 page_load 事件里面是不是已经绑定了数据

收获园豆:10
天真浪浪 | 园豆:950 (小虾三级) | 2012-11-29 10:30

我跟踪了下,点击删除一条记录的时候,是先执行的Page_load事件,再执行的ASPxGridView1_RowDeleting。而我的数据源是在ASPxGridView1_RowDeleting事件执行后做的修改

支持(0) 反对(0) rayna | 园豆:186 (初学一级) | 2012-11-29 10:41

@rayna: 应该是你有别的地方重新绑定了!你在别的页面把这个 dtPackage 绑定出来对不对~

对的话就检查 这个页面的代码 是不是哪里再次绑定了!

  我觉得你在 page_load 里面做个标记吧  是什么标记就执行什么绑定

支持(0) 反对(0) 天真浪浪 | 园豆:950 (小虾三级) | 2012-11-29 11:15
0

   ASPxGridView2.DataSource = dtPackage;

主要看一下这变的dtPackage 是不是你需要的数据

收获园豆:10
chenping2008 | 园豆:9836 (大侠五级) | 2012-11-29 10:37

执行完ASPxGridView1_RowDeleting事件后dtPackage是我想要的数据,数据也是正确的,可是界面没有刷新。

支持(0) 反对(0) rayna | 园豆:186 (初学一级) | 2012-11-29 10:43

@rayna: 还有其他的地方对这个ASPxGridView2 进行绑定的吗?

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-11-29 10:48

@chenping2008: 还有ASPxGridView1_Inserting,ASPxGridView1_updateing事件,都是同样的不刷新数据

支持(0) 反对(0) rayna | 园豆:186 (初学一级) | 2012-11-29 11:12

@rayna: 请问下,你用过dev的控件吗?我原本是想在ASPxGridView1_RowInserted事件中再去绑定更新ASPxGridView2的数据,但是ASPxGridView1_Inserting执行后并没有触发ASPxGridView1_RowInserted事件,不知道是不是要设置什么属性,dev的文档上也没找到答案。

支持(0) 反对(0) rayna | 园豆:186 (初学一级) | 2012-11-29 11:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册