首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何生成web网格页面并使用viewstate代替重新运行查询

问如何生成web网格页面并使用viewstate代替重新运行查询
EN

Stack Overflow用户
提问于 2015-01-14 14:40:15
回答 1查看 79关注 0票数 0

我有一个web网格,选择您最喜欢的,因为我真的认为它不会改变这个问题的答案--微软、Telerik、Dev -而且我已经设置它使用分页。

我正在使用Telerik,但我不把它放在标签中,因为我不认为问题在于网格本身,我认为问题在于我如何定位数据库代码。

我有一个继承自WebConrol的类,当我对网格进行页面时,这段代码再次运行,这将重新绑定网格。我的问题是访问数据库(并等待)多次不必要的时间。

对于任何类型的web数据网格,我都会给出答案。如果有必要,我可以把它翻译成我的网格类型。

代码语言:javascript
复制
Imports System.Data
Imports System.Web.UI.WebControls
Imports Telerik.Web.UI
Imports System.Web.UI
Imports System.Drawing

<ToolboxData("<{0}:ReportGrid runat=server></{0}:ReportGrid>")> _
<ToolboxBitmap(GetType(ReportGrid), "MyCompany.Web.UI.WebControls.ReportGrid.bmp")> _
Public Class ReportGrid
  Inherits CompositeControl

  Private _Grid As RadGrid
  Private ReadOnly Property Grid As RadGrid
    Get
      If _Grid Is Nothing Then
        _Grid = New RadGrid
        _Grid.ClientSettings.Scrolling.UseStaticHeaders = True
        '_Grid.Skin = "Black"
        _Grid.AllowFilteringByColumn = True
        _Grid.EnableAjaxSkinRendering = True
        _Grid.AllowPaging = True
        _Grid.AllowSorting = True
        _Grid.ViewStateMode = System.Web.UI.ViewStateMode.Enabled
        _Grid.GridLines = GridLines.Both
      End If
      Return _Grid
    End Get
  End Property

  Protected Overrides Sub CreateChildControls()
    Controls.Add(Grid)
    'If Not Page.IsPostBack Then
    'This code runs on every page load
    Dim DataTable As DataTable = MyCompany.Library.Database.GetDataTable("My Connection String", "My Query")
    Grid.DataSource = DataTable
    Grid.DataBind()
    'End If
  End Sub

End Class
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-16 04:46:25

作为Telerik用户,我建议使用RadGrid的OnNeedDataSource来处理分页数据。这里有更多关于这是如何工作的信息:

http://demos.telerik.com/aspnet-ajax/grid/examples/data-binding/simple-vs-advanced/defaultcs.aspx

如果要在网格中显示几十万或数百万条记录,则需要考虑使用自定义分页解决方案--即只从当前网格页上显示的数据源中提取记录,而不是每次回发时提取所有记录。

看看如何在Telerik RadGrid中实现自定义分页的示例:

http://demos.telerik.com/aspnet-ajax/grid/examples/functionality/paging/custom-paging/defaultcs.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27945502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档