2012-10-17 102 views
1

我在我的C#/ asp.net项目中有一个checkboxlist,我使用从查询中获取数据到我的数据库的dataTable填充它。查询返回大量的数据,我想在过滤数据之前限制最初显示的元素的数量。 (比如,前1000名)。我会如何去做这件事?如何限制复选框列表中的元素数量?

+0

使用SQL Server'select'语句,您可以添加['top'](http://msdn.microsoft.com/zh-cn/library/ms189463(v = sql.105).aspx)子句以指定要返回的最大行数。 – HABO

+0

我仍然想从查询中获取所有数据,我只想让checkboxlist显示有限。 – Bcpouli

回答

2

有两个地方,你可以限制数据的数量。

在数据库中(假设您使用SQL Server),您可以修改查询以返回前1000行。

SELECT TOP 1000 * FROM SomeTable 

或者您可以在数据到达后使用Linq过滤数据。

var newData = dataTable.AsEnumerable().Take(1000); 

我更喜欢第一种方法,所以你不要卡车绕过无用的数据。但是,如果你需要其他地方的数据,第二个方法也可以。

0

可以使用Take<>通用IEnumerable的方法:

var data = someQuery.Exec(); 
var limitedData = data.Take(1000).ToArray();