在 datagridview 中排序和过滤 IQueryable
我有一个使用 linq to SQL 进行的查询,其结果将显示在带有排序和过滤选项的 datagridview 中。
public IQueryable RegresaDepositosBancarios()
{
var depositos = from d in context.depositos_bancarios
where d.Aplicado == false
orderby d.FechaDeposito ascending
select new
{
d.IDDeposito,
d.cuentas_bancarias.Nombre,
d.Monto,
d.FechaDeposito,
d.Observaciones
};
return depositos ;
}
后来在我的代码中,我将数据源设置为使用以前的结果。
var depositos = operaciones.RegresaDepositosBancarios();
dataGrid_depositos.DataSource = depositos;
正如您所看到的,我正在返回匿名类型的 IQueryable,并且我无法对此执行排序或过滤。我读到您可以实现一个自定义函数来将 IQueryable 转换为 DataView,然后使用 RowFilter 属性,这是更有效的方法吗?在我的函数中返回其他类型会更好吗?
有任何建议欢迎提出
I have a query made using linq to SQL which result will be shown in a datagridview with sorting and filtering options.
public IQueryable RegresaDepositosBancarios()
{
var depositos = from d in context.depositos_bancarios
where d.Aplicado == false
orderby d.FechaDeposito ascending
select new
{
d.IDDeposito,
d.cuentas_bancarias.Nombre,
d.Monto,
d.FechaDeposito,
d.Observaciones
};
return depositos ;
}
Later in my code I set the datasource to use previous result.
var depositos = operaciones.RegresaDepositosBancarios();
dataGrid_depositos.DataSource = depositos;
As you can see I'm returning and IQueryable of anonymous type and I can't perform sorting or filtering over this. I read that you can implement a custom function to convert IQueryable to DataView and then use the RowFilter property, is this the more efficient way of doing it? Could be better to return other type in my function?
Any suggestions are welcome
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该将返回类型从
IQueryable
更改为IEnumerable
,然后您可以执行以下操作:我认为您也可以这样编码(但是我不这样做)通常使用
from
所以我不确定)这是一个测试程序。
You should change the return type from
IQueryable
toIEnumerable<dynamic>
, then you can do something like:I think you could also code it this way (however I don't normally use
from
so am not sure)Here's a test program.