从 devexpress gridview c# 获取过滤行
Get filtered rows from devexpress gridview c#
我在我的 C# 应用程序中使用 devexpress GridView
。所以我像这样初始化我的 GridView
:
gridControl.DataSource = new BindingList<ViewDomainClass.MaterialOffice.DAViewMTO>(_materialRepository.ViewMTOByDetail())
那个的输出值是List<DAViewMTO>
。所以我的用户能够过滤 GridView
中的数据,而我只需要我的用户过滤的数据。
所以我需要将这些数据(已过滤)移动到另一个 List<DAViewMTO>
类型的列表
我该怎么做?
您可以使用两种方法从 GridView 中获取筛选行。
- 第一个是遍历从0到GridView的RowCount, get row handles from visible indices via the GetVisibleRowHandle方法的所有可见行,通过GetRow方法获取行的底层对象,将这些行插入到不同的IList中。
- 第二种方法是使用 GridView 的 DataController.GetAllFilteredAndSortedRows() 方法。此方法 returns IList 当前可见行的当前排序顺序。
参考文献:
Getting Filtered Rows
How to get filtered rows
XtraGrid GridView : How to get the filtered rows - 如果数据源是数据表
how to get the xtragrid filtered and sorted datasource?
如果您没有找到实现此方法的方法,请查阅文档以获取正确的方法来获取数据。
希望对您有所帮助..
使用这个:
public static List<T> GetFilteredData<T>(ColumnView view)
{
List<T> resp = new List<T>();
for (int i = 0; i < view.DataRowCount; i++)
resp.Add((T)view.GetRow(i));
return resp;
}
然后这样调用:
ColumnView View = gridControl.MainView as ColumnView;
List<DAViewMTO> mydata= GetFilteredData<DAViewMTO>(View).ToList();
我在我的 C# 应用程序中使用 devexpress GridView
。所以我像这样初始化我的 GridView
:
gridControl.DataSource = new BindingList<ViewDomainClass.MaterialOffice.DAViewMTO>(_materialRepository.ViewMTOByDetail())
那个的输出值是List<DAViewMTO>
。所以我的用户能够过滤 GridView
中的数据,而我只需要我的用户过滤的数据。
所以我需要将这些数据(已过滤)移动到另一个 List<DAViewMTO>
我该怎么做?
您可以使用两种方法从 GridView 中获取筛选行。
- 第一个是遍历从0到GridView的RowCount, get row handles from visible indices via the GetVisibleRowHandle方法的所有可见行,通过GetRow方法获取行的底层对象,将这些行插入到不同的IList中。
- 第二种方法是使用 GridView 的 DataController.GetAllFilteredAndSortedRows() 方法。此方法 returns IList 当前可见行的当前排序顺序。
参考文献:
Getting Filtered Rows
How to get filtered rows
XtraGrid GridView : How to get the filtered rows - 如果数据源是数据表
how to get the xtragrid filtered and sorted datasource?
如果您没有找到实现此方法的方法,请查阅文档以获取正确的方法来获取数据。
希望对您有所帮助..
使用这个:
public static List<T> GetFilteredData<T>(ColumnView view)
{
List<T> resp = new List<T>();
for (int i = 0; i < view.DataRowCount; i++)
resp.Add((T)view.GetRow(i));
return resp;
}
然后这样调用:
ColumnView View = gridControl.MainView as ColumnView;
List<DAViewMTO> mydata= GetFilteredData<DAViewMTO>(View).ToList();