【问题标题】:Dgrid - how to start row rendering at a specific indexDgrid - 如何在特定索引处开始行渲染
【发布时间】:2014-10-02 13:14:57
【问题描述】:

我将 Dgrid 与 Observable JsonRest 存储一起使用。一次查询 JsonRest 存储 50 行。现在我有一个功能,用户可以“快速搜索”数据并在服务器端处理搜索。这是可行的,在这种情况下,服务器会返回例如“Content-Range: 210-260/1500”。它返回 50 行数据,但 Dgrid 在开始时呈现完整的网格,因此用户无法“向上”滚动查看以前的条目。

我怎样才能让 Dgrid 表现得那样?

【问题讨论】:

    标签: dojo dgrid


    【解决方案1】:

    不完全确定我是否完全掌握了您的问题,但如果我掌握了,可能需要跳出框框思考或妥协才能得到您想要的。我假设您的 UI 基本上是跳转到第一个匹配项,而不是简单地过滤网格以仅显示匹配项。

    如果您的 UI 始终存在网格并且搜索基本上是为了滚动网格,您可以使用 grid.scrollTo({ y: valueInPixels }) 滚动网格。虽然这接受像素值(不是行),但如果您的行高度一致,您可以乘以 grid.rowHeight(这是由 OnDemandList 设置的属性)以获得正确的偏移量。

    另一个选项,虽然可能不是你想要的,是使用Pagination extension 并导航到特定页面。

    当然,如果您希望实际过滤网格以仅显示匹配项,那也是可能的(假设您的服务器的行为与dojo/store/JsonRest 期望的一样)。 Using Grids and Stores tutorial 后面有一个例子。

    【讨论】:

    • 我已经尝试了 'scrollTo' 选项,但它并没有真正起作用,可能是因为我们的 rowheight 不一致。我将实现“过滤器”选项,这对我们的 UI 来说是一个更好的选择。谢谢。
    猜你喜欢
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 2019-02-17
    • 2015-10-22
    相关资源
    最近更新 更多