导出已过滤的网格数据在Telerik RadGrid中

时间:2010-10-08 09:25:34

标签: telerik radgrid

当导出rad网格数据时,如果用户以任何方式对其进行过滤,网格应该只导出过滤后的数据而不是整个数据集 - 任何想法如何实现?

问候 - Hemant

2 个答案:

答案 0 :(得分:2)

这是一个解决方案,允许用户使用Telerik RadGridView控件(Silverlight版本)中的当前过滤器和排序设置获取经过筛选的已排序数据项列表。

using Telerik.Windows.Data;
.
.
.
IEnumerable<MyClass> itemsToDisplay { get; set; }  //The RadGridView is bound to this property

public void DoSomethingWithFilteredAndSortedDisplayItems(RadGridView rgv)
{
    IQueryable<MyClass> iqItems = itemsToDisplay.AsQueryable();
    FilterDescriptorCollection filter = rgv.FilterDescriptors;
    SortDescriptorCollection sort = rgv.SortDescriptors;
    List<MyClass> fsItems = iqItems.Where(filter).Sort(sort).ToIList() as List<MyClass>;

    if (fsItems != null && fsItems.Count > 0)
    {
        DoSomethingWithDisplayItems(fsItems);
    }
}

public void DoSomethingWithDisplayItems(IEnumerable<MyClass> list)
{
    ... //Do something
}

答案 1 :(得分:0)

我认为如果在调用导出方法(在内部重新绑定它)之前将过滤后的数据集分配给网格,您将在导出的文件中获取过滤值。