如何在分组时正确设置RadGridView.IsBusy

时间:2014-08-25 20:50:12

标签: c# wpf telerik dispatcher radgridview

在我的场景中,Telerik Rad gridview在分组一定数量的数据时几秒钟内不负责任。我想要做的就是在这段时间内显示某种加载指示器。我试图简单地利用OnGrouping,OnGrouped事件来设置IsBusy,如下所示:

OnGrouping(){  gridView.IsBusy = true;}
OnGrouped(){  gridView.IsBusy = false;}

但它不起作用。看起来Telerik GridView在UI线程中执行所有分组,在分组完成之前没有任何机会让'IsBusy = true'继续进行。

有人知道要实现吗? 或者更一般地说,如何在'OnGrouping'事件期间强制进行布局更新?

提前致谢

2 个答案:

答案 0 :(得分:1)

我估计你没有任何选择。像RadGridView一样,UIElement必须在UI上创建,因此通过在后台线程中创建它然后将其分配给UI线程的方式,并没有发挥作用。在普通的分组中,它是在CollectionView上制作的,所以我猜它可以同时进行,但正如你所说的那样,UIelement负责它。

答案 1 :(得分:0)

您可以尝试将RadGrid放入RadAjaxPanel中。然后连接RadAjaxLoadingPanel以在网格更新时显示动画加载gif或一些文本。

演示:http://demos.telerik.com/aspnet-ajax/ajax/examples/loadingpanel/loadingimages/defaultcs.aspx

Doco:http://www.telerik.com/help/aspnet-ajax/ajax-loadingpanel.html