2016-10-06 7 views
0

私はRad Gridフォームで50000以上のレコードをロードしています。どのように最適化し、グリッドを高速にロードする(インスタント)か? pagewiseフィルタをtelerik radグリッド列フィルタに読み込むオプションはありますか?Telerik RadGridパフォーマンスWinformsが遅すぎる

Me.cncFilesGridRad.MasterTemplate.AllowAddNewRow = False 
      Me.cncFilesGridRad.MasterTemplate.AllowDeleteRow = False 
      Me.cncFilesGridRad.MasterTemplate.ShowRowHeaderColumn = False 
      Me.cncFilesGridRad.MasterTemplate.ShowHeaderCellButtons = False 
      Me.cncFilesGridRad.UseScrollbarsInHierarchy = True 
      Me.cncFilesGridRad.ShowGroupPanel = False 
      Me.cncFilesGridRad.HorizontalScroll.Enabled = True 
      Me.cncFilesGridRad.MasterTemplate.EnableSorting = True 
      Me.cncFilesGridRad.MasterTemplate.EnableGrouping = False 
      Me.cncFilesGridRad.EnableFiltering = True 
      Me.cncFilesGridRad.ShowHeaderCellButtons = True 

      Me.cncFilesGridRad.MasterTemplate.EnableFiltering = True 
      Me.cncFilesGridRad.ShowFilteringRow = False 
      Me.cncFilesGridRad.MasterTemplate.ShowFilterCellOperatorText = False 
      Me.cncFilesGridRad.MasterTemplate.AllowCellContextMenu = False 
      Me.cncFilesGridRad.EnableFastScrolling = True 
      Me.cncFilesGridRad.BeginUpdate() 
      Me.cncFilesGridRad.DataSource = GlobalVariables.CNCFilesCollection 

      Me.cncFilesGridRad.AutoSizeRows = True 

      Me.cncFilesGridRad.TableElement.RowHeight = 60 
      Me.cncFilesGridRad.TableElement.FilterRowHeight = 40 
      Me.cncFilesGridRad.GridViewElement.PagingPanelElement.NumericButtonsCount = 25 
      Me.cncFilesGridRad.VirtualMode = True 

      AddTemplateToGrid() 

      Me.cncFilesGridRad.MasterTemplate.Templates(0).AllowAddNewRow = False 
      Me.cncFilesGridRad.MasterTemplate.Templates(0).AllowDeleteRow = False 
      Me.cncFilesGridRad.MasterTemplate.Templates(0).AllowEditRow = False 


      For Each col As GridViewDataColumn In Me.cncFilesGridRad.Columns 
       col.IsVisible = False 
      Next 

      For Each col As GridViewDataColumn In Me.cncFilesGridRad.MasterTemplate.Templates(0).Columns 
       col.IsVisible = False 
      Next 

      'child row column 
      column = Me.cncFilesGridRad.MasterTemplate.Templates(0).Columns("Name") 
      column.HeaderText = "Name" 
      column.IsVisible = True 
      column.ReadOnly = True 

      'parent rows 
      checkColumn = New GridViewCheckBoxColumn() 
      checkColumn.DataType = GetType(Integer) 
      checkColumn.HeaderText = "Select" 
      checkColumn.Name = "Select" 
      checkColumn.IsVisible = True 
      checkColumn.EditMode = EditMode.OnValueChange 
      checkColumn.Width = 83 
      Me.cncFilesGridRad.MasterTemplate.Columns.Add(checkColumn) 
      Me.cncFilesGridRad.Columns.Move(checkColumn.Index, 0) 

      commandColumn = New GridViewCommandColumn() 
      commandColumn.Name = "EditColumn" 
      commandColumn.UseDefaultText = True 
      commandColumn.DefaultText = "Edit" 
      commandColumn.FieldName = "Edit" 
      commandColumn.Width = 50 
      commandColumn.TextAlignment = ContentAlignment.MiddleCenter 
      Me.cncFilesGridRad.MasterTemplate.Columns.Add(commandColumn) 
      Me.cncFilesGridRad.Columns.Move(commandColumn.Index, 1)  

      descriptor.PropertyName = "Name" 
      Me.cncFilesGridRad.Columns("Name").SortOrder = RadSortOrder.Ascending 
      Me.cncFilesGridRad.MasterTemplate.SortDescriptors.Add(descriptor) 



      Me.cncFilesGridRad.MasterTemplate.Templates(0).AutoSizeColumnsMode = Telerik.WinControls.UI.GridViewAutoSizeColumnsMode.Fill 


      Me.cncFilesGridRad.CurrentRow = Nothing 

      filterDescriptor.PropertyName = "Name" 
      filterDescriptor.[Operator] = FilterOperator.StartsWith 
      filterDescriptor.IsFilterEditor = True 
      Me.cncFilesGridRad.Columns("Name").FilterDescriptor = filterDescriptor 

さらに多くのレコードをロードしている間に放射グリッドのパフォーマンスを改善する方法はありますか?

+0

50000レコードのグリッドの多すぎます。ロードされたデータを読み込みます。 [ページングの概要](http://docs.telerik.com/devtools/winforms/gridview/paging/overview)または[1億レコードのWinFormsとLINQのためのRadGridViewによるページングのエミュレーション](http:// www .telerik.com/blogs/emulating-paging-radgridview-for-winforms-and-linq-1万レコードあり) –

+0

以下の記事でRadGridのパフォーマンスを最適化するためのヒントを調べることをお勧めします。 http://www.telerik.com/help/aspnet-ajax/grid-viewstate-reduction-techniques.html – StackOverflow

+0

ページの移動に合わせてレコードをロードします。つまり、1ページに100レコード、2ページ目をクリックするとパフォーマンスを向上させる別の100レコードがあります。 – MarmiK

答えて

0

パフォーマンスが向上しますロードのページに移動するなど、レコード、すなわち、1ページは、我々は2番目のページをクリックしたとき、それは別の100レコードを持っているだろう、100レコードを持つことができます..

+0

pagewise radgrid winformsとしてレコードを読み込む方法は?あなたはこの例を共有できますか? –

+0

SQLクエリのデータをフィルタリングしたり、DataTableオブジェクトのDefaultViewをフィルタリングして、それをRadGridViewにバインドすることができます。また、DataTableオブジェクトをBindingSourceオブジェクトにバインドし、そのFilterプロパティを設定してからRadGridViewにバインドすることもできます。 – StackOverflow

0

あなたが見なければならないのはページネーションです。 TelerikのGridViewコントロールは、この機能を自然にサポートしています。

RadGridViewのデータレイヤーは、ネイティブでデータのページ設定をサポートするようになりました。ページングオプションを追加することで、以前と同じデータプロバイダにRadGridViewをバインドできます。いくつかの機能があり、簡単にデータのページングを設定および管理できます。

ページングの仕組みの詳細については、次のリンクを参照してください。

http://docs.telerik.com/devtools/winforms/gridview/paging/overview#paging-overview

http://docs.telerik.com/devtools/winforms/gridview/paging/paging-panel

http://www.telerik.com/videos/winforms/radgridview-for-winforms-webinar

関連する問題