代码之家  ›  专栏  ›  技术社区  ›  Buildstarted

回发后telerik radgrid数据源为空

  •  1
  • Buildstarted  · 技术社区  · 14 年前

    分配后 RadGrid.DataSource DataSource 为空。在应用了所有过滤器和排序之后,是否可以获取RadGrid用来填充网格的数据?

    编辑

    唯一可用于获取数据的方法被标记为internal。我想我现在要放弃了。如果我以后找到解决办法,我会把答案贴在这里。

    3 回复  |  直到 14 年前
        1
  •  3
  •   Josh    14 年前

    这不是telerik的事。对于所有控件,除非在每次回发时显式地重新分配并重新绑定DataSource属性,否则DataSource属性将始终为null。

    您可以使用会话或缓存,甚至 喘息 另一个 访问数据库获取信息。

    编辑:
    避免存储的原因 会话或缓存中的信息类型是因为它很大,而且是每个用户的。如果您的服务器上有无限的内存,那么一定要将数据集存储在会话和缓存中每个用户的所有位置,但大多数情况下,您希望保持每个用户的内存占用很小。

    在ViewState中存储这些信息在很大程度上是浪费的,因为您只会向客户显示一小部分行,但会给它们一个 通过他们臃肿的ViewState下载。

    最后,需要注意在数据访问级别处理分页、排序和过滤,以便只检索要实际显示给用户的行。

        2
  •  3
  •   Ed B    14 年前

    Telerik的控件上有一个NeedDataSource事件处理程序。在那里设置数据源。

    protected void radGridVesselSpecs_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
    {
        if (this.Vessel == null)
            return;
    
        this.radGridVesselSpecs.DataSource = this.Vessel.Specifications;
    }
    
        3
  •  0
  •   John Mao    14 年前