Я загружаю более 50000 записей в формах выигрыша в сетке. как оптимизировать и заставить сетку загружаться быстро (мгновенно) ?. есть ли опция для загрузки фильтра по умолчанию в фильтр столбцов решетки 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
Как улучшить работу решетки решетки при загрузке других записей?
50000 записей слишком много для сетки. Загружать данные. Взгляните на [Обзор пейджинга] (http://docs.telerik.com/devtools/winforms/gridview/paging/overview) или [Эмуляция пейджинга с помощью RadGridView для WinForms и LINQ с 1 миллионом записей] (http: // www .telerik.com/blogs/emulating-paging-with-radgridview-for-winforms-and-linq-with-1-million-records) –
Я рекомендую вам изучить приведенную ниже статью для получения полезных советов о том, как оптимизировать производительность RadGrid: http://www.telerik.com/help/aspnet-ajax/grid-viewstate-reduction-techniques.html – StackOverflow
Загрузите записи по мере перемещения страницы, т.е. одна страница может иметь 100 записей, когда мы нажимаем вторую страницу, это будет иметь еще 100 записей .. это улучшит производительность. – MarmiK