Kendo ui rid但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。这看起来很棒。你
Kendo ui rid但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。这看起来很棒。你,kendo-ui,
servicestack,kendo-grid,kendo-asp.net-mvc,Kendo Ui,
servicestack,Kendo Grid,Kendo Asp.net Mvc,rid但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。这看起来很棒。你可以发布你的完整插件,这将是非常有帮助的其他人必须集成到剑道。这似乎很好。你可以发布你的完整插件,这将是非常有帮助的其他人必须集成到剑道。这似乎很好。你可以发布你的完整插件,这将是非常有帮助的其他人必须集成到剑道。这似乎很好。你可以发布你的完整
rid但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。我不太了解KendoUI网格,但你可以用jQGrid做类似的事情。这看起来很棒。你可以发布你的完整插件,这将是非常有帮助的其他人必须集成到剑道。这似乎很好。你可以发布你的完整插件,这将是非常有帮助的其他人必须集成到剑道。这似乎很好。你可以发布你的完整插件,这将是非常有帮助的其他人必须集成到剑道。这似乎很好。你可以发布你的完整插件,这将是非常有帮助的其他人融入剑道。
public class KendoQueryBase : IKendoFilter, IKendoSort, IKendoPaged
{
public FilterTerm Filter { get; set; }
public List<SortTerm> Sort { get; set; }
public int? Page { get; set; }
public int? PageSize { get; set; }
public int? Skip { get; set; }
public int? Take { get; set; }
}
class KendoQueryPlugin : IPlugin
{
public void Register(IAppHost appHost)
{
appHost.GlobalRequestFilters.Add((req, resp, dto) =>
{
if (dto is KendoQueryBase)
{
KendoQueryBase qb = dto as KendoQueryBase;
if (qb.Sort == null) qb.Sort = new List<SortTerm>();
Dictionary<string, string> qs = req.QueryString.ToDictionary();
// Create the Sort Terms
var i = 0;
while (qs.ContainsKey("sort[{0}][field]".Fmt(i)))
{
qb.Sort.Add(new SortTerm()
{
Field = qs["sort[{0}][field]".Fmt(i)],
Dir = qs["sort[{0}][dir]".Fmt(i)]
});
i++;
}
i = 0;
}
});
}
}
public static class PagingExtensions
{
public static SqlExpression<T> Page<T>(this SqlExpression<T> exp, int? page, int? pageSize)
{
if (!page.HasValue || !pageSize.HasValue)
return exp;
if (page <= 0) throw new ArgumentOutOfRangeException("page", "Page must be a number greater than 0.");
if (pageSize <= 0) throw new ArgumentOutOfRangeException("pageSize", "PageSize must be a number greater than 0.");
int skip = (page.Value - 1) * pageSize.Value;
int take = pageSize.Value;
return exp.Limit(skip, take);
}
}
if (!request.Page.HasValue) request.Page = 1;
if (!request.PageSize.HasValue || request.PageSize < 0 || request.PageSize > 100)
request.PageSize = 10;
var exp = Db.From<Your Database Object>
....
var results = Db.Select<YourDTO>(exp.Page(request.Page, request.PageSize)),