0

我正在尝试从具有多个连接的查询中加载可排序的 jqgrid 3.5,并且由于我是 Linq 和 jqgrid 的新手,因此遇到了很多困难。为了允许排序,我首先尝试使用动态 SQL 加载它。

由于我从多个表中提取列,我假设我的返回将是一个我将填充的类对象(或者它将是一个表)。使用带有多个 .JOIN 子句的动态 SQL 时,如何返回 IQueryable 自定义类对象。如果这是不可能的,我如何从存储过程调用中返回 IQueryable 数据。在存储过程中创建动态 SQL 很容易——但是我不确定如何使用它加载我的网格。

对不起,如果这到处都是,但我似乎找不到办法。如果您可以推荐最直接的方法来从具有多个连接的查询中加载我的可排序网格,我将不胜感激。

我的控制器代码:

 public ActionResult GridData(string sidx, string sord, int page, int rows)
 {
        EquipTrak eqt = new EquipTrak();

        var equipment = eqt.GetGridEquipment(sidx, sord);

        var dataJson = new
        {

            total = 10000,
            page = 1,
            records = 10000,
            rows = (from e in equipment
                    select new
                    {
                        equip_id = e.equip_id,
                        cell = new string[] {
                e.equip_id,
                e.equipType,
                e.makeType,
                String.Format("{0:MM/dd/yyyy}", e.serv_due_dt)
            }
                    }).ToArray()
        };
        return Json(dataJson);
    }
}

我的课程代码(不完整):

namespace ULS_Site.Models
{
  public class EquipTrak
  {
    uls_dbDataContext ulsDB = new uls_dbDataContext();

    public IQueryable<equipmentCls> GetGridEquipment(string sidx, string sord)
    {
        try
        {
            return
4

1 回答 1

0

不确定这是最好还是最差的解决方案,但我使用 SQL Server 视图来处理所需的所有连接。然后,我可以针对我的数据上下文中的视图使用 .Orderby 和 .Where 。

于 2009-09-15T18:51:19.427 回答