Hi
I refer to the aritcle "How to Change PageViewMode for the Nested Levels in RadGridView - Telerik UI for WinForms"
I have a setting implemented that is like in the article.
It is working but has a flaw:
When an entry of the second tier is expanded and I then collapse the corresponding entry in the first tier and re-expand it, I get an NullReferenceException coming out of Telerik code:
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. bei Telerik.WinControls.UI.RowsContainerElement.UpdateMergeCells(GridCellElement cellElement) bei Telerik.WinControls.UI.RowsContainerElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeViewElement(RectangleF viewElementRect) bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.RadPageViewElementBase.ArrangeChildren(SizeF finalSize) bei Telerik.WinControls.UI.RadPageViewElementBase.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.ArrangeContent(RectangleF clientRect) bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.PerformArrange(RectangleF clientRect) bei Telerik.WinControls.UI.RadPageViewElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.LightVisualElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.GridDetailViewRowElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.VirtualizedStackContainer`1.ArrangeElementCore(RadElement element, SizeF finalSize, RectangleF arrangeRect) bei Telerik.WinControls.UI.VirtualizedStackContainer`1.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.UI.ScrollableRowsContainerElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.RowsContainerElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeViewElement(RectangleF viewElementRect) bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.RadPageViewElementBase.ArrangeChildren(SizeF finalSize) bei Telerik.WinControls.UI.RadPageViewElementBase.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.ArrangeContent(RectangleF clientRect) bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.PerformArrange(RectangleF clientRect) bei Telerik.WinControls.UI.RadPageViewElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.LightVisualElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.GridDetailViewRowElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.VirtualizedStackContainer`1.ArrangeElementCore(RadElement element, SizeF finalSize, RectangleF arrangeRect) bei Telerik.WinControls.UI.VirtualizedStackContainer`1.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.UI.ScrollableRowsContainerElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.RowsContainerElement.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeViewElement(RectangleF viewElementRect) bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeOverride(SizeF finalSize) bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect) bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect) bei Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayout() bei Telerik.WinControls.UI.GridTableElement.UpdateOnRowExpandedCore(GridViewRowInfo row) bei Telerik.WinControls.UI.GridTableElement.UpdateOnRowExpanded(GridViewRowInfo row) bei Telerik.WinControls.UI.GridTableElement.UpdateOnRowPropertyChanged(GridViewRowInfo row, GridPropertyChangedEventArgs e) bei Telerik.WinControls.UI.GridTableElement.ProcessRowEvent(GridViewRowInfo row, GridViewEvent eventData) bei Telerik.WinControls.UI.GridTableElement.Telerik.WinControls.UI.IGridViewEventListener.ProcessEvent(GridViewEvent eventData) bei Telerik.WinControls.UI.GridViewEventProcessEntity.ProcessCollection(GridViewEvent gridEvent, PriorityWeakReferenceList list, GridEventProcessMode processMode) bei Telerik.WinControls.UI.GridViewEventProcessEntity.ProcessEvent(GridViewEvent gridEvent) bei Telerik.WinControls.UI.GridViewSynchronizationService.NotifyListeners(GridViewEvent gridEvent) bei Telerik.WinControls.UI.GridViewSynchronizationService.FlushEvents() bei Telerik.WinControls.UI.GridViewSynchronizationService.DispatchEvent(GridViewEvent gridEvent) bei Telerik.WinControls.UI.GridViewSynchronizationService.DispatchEvent(GridViewTemplate template, GridViewEvent eventData, Boolean postUI) bei Telerik.WinControls.UI.GridViewRowInfo.DispatchEvent(KnownEvents id, GridEventType type, GridEventDispatchMode dispatchMode, Object originator, Object[] arguments) bei Telerik.WinControls.UI.GridViewRowInfo.OnPropertyChanged(PropertyChangedEventArgs args) bei Telerik.WinControls.UI.GridViewDataRowInfo.OnPropertyChanged(PropertyChangedEventArgs e) bei Telerik.WinControls.UI.GridViewHierarchyRowInfo.OnPropertyChanged(PropertyChangedEventArgs e) bei Telerik.WinControls.UI.GridViewRowInfo.SetBooleanProperty(String propertyName, Int32 propertyKey, Boolean value) bei Telerik.WinControls.UI.GridViewRowInfo.set_IsExpanded(Boolean value) bei Telerik.WinControls.UI.GridGroupExpanderCellElement.expander_RadPropertyChanged(Object sender, RadPropertyChangedEventArgs e) bei Telerik.WinControls.RadPropertyChangedEventHandler.Invoke(Object sender, RadPropertyChangedEventArgs e) bei Telerik.WinControls.RadObject.OnPropertyChanged(RadPropertyChangedEventArgs e) bei Telerik.WinControls.RadElement.OnPropertyChanged(RadPropertyChangedEventArgs e) bei Telerik.WinControls.VisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e) bei Telerik.WinControls.RadComponentElement.OnPropertyChanged(RadPropertyChangedEventArgs e) bei Telerik.WinControls.RadItem.OnPropertyChanged(RadPropertyChangedEventArgs e) bei Telerik.WinControls.UI.UIItemBase.OnPropertyChanged(RadPropertyChangedEventArgs e) bei Telerik.WinControls.UI.LightVisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e) bei Telerik.WinControls.UI.ExpanderItem.OnPropertyChanged(RadPropertyChangedEventArgs e) bei Telerik.WinControls.RadObject.RaisePropertyNotifications(RadPropertyValue propVal, Object oldValue, Object newValue, ValueSource oldSource) bei Telerik.WinControls.RadObject.SetValueCore(RadPropertyValue propVal, Object propModifier, Object newValue, ValueSource source) bei Telerik.WinControls.RadElement.SetValueCore(RadPropertyValue propVal, Object propModifier, Object newValue, ValueSource source) bei Telerik.WinControls.UI.ExpanderItem.set_Expanded(Boolean value) bei Telerik.WinControls.UI.GridExpanderItem.set_Expanded(Boolean value) bei Telerik.WinControls.UI.ExpanderItem.ToggleExpanded() bei Telerik.WinControls.UI.ExpanderItem.OnMouseUp(MouseEventArgs e) bei Telerik.WinControls.RadElement.OnCLREventsRise(RoutedEventArgs args) bei Telerik.WinControls.RadElement.OnBubbleEvent(RadElement sender, RoutedEventArgs args) bei Telerik.WinControls.RadElement.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) bei Telerik.WinControls.RadItem.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args) bei Telerik.WinControls.RadElement.RaiseRoutedEvent(RadElement sender, RoutedEventArgs args) bei Telerik.WinControls.RadElement.DoMouseUp(MouseEventArgs e) bei Telerik.WinControls.ComponentInputBehavior.OnMouseUp(MouseEventArgs e) bei Telerik.WinControls.RadControl.OnMouseUp(MouseEventArgs e) bei Telerik.WinControls.UI.RadGridView.OnMouseUp(MouseEventArgs e) bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) bei System.Windows.Forms.Control.WndProc(Message& m) bei System.Windows.Forms.ScrollableControl.WndProc(Message& m) bei Telerik.WinControls.RadControl.WndProc(Message& m) bei Telerik.WinControls.UI.RadGridView.WndProc(Message& m) bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Hello,
we have an application using Telerik version 2021.3.1123.40. It is not the first time these errors were reportet, but I have no methode to reproduce it at the moment. The chain of Events for both errors is, that RadGridView.FilterChanged-Event is called, from there we call our method "UpdateProzessschritte" (UpdateProcessSteps), which does a BeginUpdate and EndUpdate of the grid. When EndUpdate is called, the 2 errors orccured under certain, unknown conditions.
Do you have any ideas which causes could lead to this exceptions and how to fix it? Or is this a known problem which was already fixed in later versions?
Hi, my application is built on .NET 4 and Telerik 2023. However, after the update, I have experienced increased lag when loading radGridView What should I do?
If a user sees a grid that looks like Excel, they expect it to function the same as Excel. I'm not very familiar with Telerik grids, but the OOTB copy/paste functionality doesnt seem to work the identical to Excel.
Our users need to be able to select a single cell and paste a single cell. This seems to work.
They also need to be able to select a single cell and paste its value in many cells. This only seems to paste the value in the last selected cell, not all selected cells.
Before:
After
Select multiple continuous cells from a row and paste to a single cell, and have all copied cells pasted starting at the selected paste location. This seems to work
Select multiple continuous cells from a row and paste to a selection of continuous rows and have all copied cells pasted. This seems to only work on the last row
Before
After
Here are my current grid settings:
DataRadGrid.AllowAddNewRow = false;
DataRadGrid.AllowColumnChooser = false;
DataRadGrid.AllowColumnReorder = false;
DataRadGrid.AllowDeleteRow = false;
DataRadGrid.AllowEditRow = true;
DataRadGrid.AllowMultiColumnSorting = true;
DataRadGrid.AllowRowReorder = false;
DataRadGrid.AllowRowResize = false;
DataRadGrid.BeginEditMode = RadGridViewBeginEditMode.BeginEditOnKeystroke;
DataRadGrid.EnableAlternatingRowColor = true;
DataRadGrid.EnableCustomDrawing = true;
DataRadGrid.EnableFiltering = true;
DataRadGrid.EnableGrouping = false;
DataRadGrid.EnableHotTracking = false;
DataRadGrid.HorizontalScrollState = ScrollState.AlwaysShow;
DataRadGrid.MasterTemplate.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.None;
DataRadGrid.MasterTemplate.ShowFilteringRow = false;
DataRadGrid.MasterTemplate.ShowHeaderCellButtons = true;
DataRadGrid.MasterView.TableSearchRow.ShowClearButton = true;
DataRadGrid.MultiSelect = true;
DataRadGrid.SelectionMode = GridViewSelectionMode.CellSelect;
DataRadGrid.ShowColumnHeaders = true;
DataRadGrid.VerticalScrollState = ScrollState.AlwaysShow;
DataRadGrid.EnterKeyMode = RadGridViewEnterKeyMode.EnterMovesToNextRow;Are there settings I can use to mimic Excel, if not, is there boilerplate code to achieve this?
Thanks,
matt


message error: La référence d objet n'est pas définie à une instance d'un objet.
Hello,
In my Frame, I use a RadDock with documentContainer and two toolwindows.
I would like the toolWindowFamily to dock automatically when I select it, rather than having to press the “pin” image.
On the “stabstripItem_click”, I put: oToolwindow:DockState= Telerik.WinControls.UI.Docking.DockState:Docked.
Here is my code:
METHOD PRIVATE VOID TabStripItem_Click( INPUT sender AS System.Object, INPUT e AS System.EventArgs ):
DEFINE VARIABLE oTabStripItem AS Telerik.WinControls.UI.TabStripItem NO-UNDO.
DEFINE VARIABLE oToolwindow AS Telerik.WinControls.UI.Docking.ToolWindow NO-UNDO.
DEFINE VARIABLE cValeur AS CHARACTER NO-UNDO.
oTabStripItem = CAST(sender, Telerik.WinControls.UI.TabStripItem) NO-ERROR.
IF oTabStripItem NE ? THEN
DO:
oToolwindow = CAST(oTabStripItem:TabPanel, Telerik.WinControls.UI.Docking.ToolWindow) NO-ERROR.
IF VALID-OBJECT(oToolwindow) THEN DO:
IF oToolwindow NE ? THEN
DO:
IF THIS-OBJECT:DockPrincipal:ActiveWindow NE oToolwindow THEN
DO:
oActiveWindow = THIS-OBJECT:DockPrincipal:ActiveWindow.
cValeur = THIS-OBJECT:oongFamilleListe:GetToolwindowFurtifValeur( oToolwindow:NAME ).
InitialiseToolWindow( oToolwindow:NAME ).
CASE oToolwindow:Name:
WHEN gcToolWindowNomAide[1] THEN DO:
IF cValeur NE "?" AND cValeur NE 'OFF'
THEN THIS-OBJECT:oongCodeAnalytiqueAide:Initialisation(cValeur).
ELSE THIS-OBJECT:oongCodeAnalytiqueAide:Initialisation("").
oToolwindow:Enabled = ( cValeur NE "?" AND cValeur NE 'OFF').
END.
WHEN gcToolWindowNomFiltre[1] THEN DO:
glDockParCode= YES.
oToolwindow:DockState= Telerik.WinControls.UI.Docking.DockState:Docked.
glDockParCode= NO.
oToolwindow:Enabled = YES.
gcNoeudCourant = 'C000'.
glFiltreVisibleFamille = YES.
oongFamilleArborescence:SelectionNoeud(gcNoeudCourant).
IF glRafraichir THEN DO:
SetEtatObjet("BtnSupprimer", NO).
//SetEtatObjet("BtnCopier", NO).
//SetEtatObjet("BtnColler", NO).
//SetEtatObjet("BtnCollerInserer", NO).
oongFamilleListe:SetParamFiltreFamille ( glFiltreVisibleFamille ,gcNoeudCourant ).
oongFamilleListe:Rafraichir( ).
END.
END.
END CASE.
THIS-OBJECT:DockPrincipal:ActiveWindow = oToolwindow.
END.
ELSE
DO:
THIS-OBJECT:DockPrincipal:CloseAutoHidePopup().
oToolwindow:AutoHideTab:Click:UnSubscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
oToolwindow:AutoHideTab:Click:Subscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
IF THIS-OBJECT:DockPrincipal:ActiveWindow NE oActiveWindow THEN
THIS-OBJECT:DockPrincipal:ActiveWindow = oActiveWindow.
END.
END.
END.
ELSE DO:
MESSAGE 'ERR - TabStripItem_Click '
VIEW-AS ALERT-BOX.
RETURN.
END.
END.
/*
IF lFlgDocked THEN DO:
//oToolwindow:AutoHideTab:Click:UnSubscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
glDockParCode = YES.
oToolwindow:DockState= Telerik.WinControls.UI.Docking.DockState:Docked NO-ERROR.
oToolwindow:Tag = "ON".
glDockParCode = NO.
// oToolwindow:AutoHideTab:Click:Subscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
END.
*/
RETURN.
END METHOD.

Hi;
I have a problem that I don't know how to solve.
I have a grid with several columns and rows containing different data types (text, numbers, images, etc.). Some of the cells are formatted using the RowFormatting event.
The grid also allows filtering by column.
I noticed that when my grid has many rows and is filtered, scrolling becomes very slow. If it's not filtered, it works perfectly with the same number of rows.
After investigating further, I realized that the FilterChanged event is being triggered multiple times when scrolling.
Furthermore, the value of MasterView.Rows.Count is different each time the event is executed. Sometimes it shows the filtered count, and other times it shows the unfiltered count.
This, in addition to the slowness, is a serious problem. For example, if I have a thread running that performs an action on filtered rows, I encounter issues with indexing and incorrect row selection.
I've attached a sample project. If you filter by a column and then scroll, the number of rows in the MasterView will be displayed in the text box.
Could you help me to solve this problem?
Thank you so much.
Regards

Hi,
What is the best approach to adding a simple button to some cells (not all) in a grid view text box column? My column is read only and contains html text. I should also add that the button should overlay any text that might appear underneath it... So cell cannot contain stacked or docked sub elements.
I simply want to be able to show and handle a button at the top right hand corner of the cell. This cell is only added based on a some other algorithm in my code.
I thought aboutusing ButtonRenderer in a CellPaint but the text and button outline appear in 2 different places, so it seems that ButtonRenderer does not consider e.Graphics suplied to cell paint!
Any ideas?
Cheers
Toby

