Hello guys,
I'm using the RadSpreadsheet component since 3 months. I dont have any difficulties with it, except since this week I met a very strange behavior. In my context, the RadSpreadsheet is loaded from a csv file deserialization, some calculation are replaced by the numeric values and some cells are read to say if the results is good or not. I have a UserControl which contains only the RadSpreadsheet and RadFormulaBar components, with a dedicated ViewModel.
The fact is that sometimes, during the process, some NullReferenceException are thrown and the process is cut. The StackTrace provides big traces into the Telerik environment.
Example of piece of code generating the error:
Private Sub SelectCell(cell As String)
Dim columnNumber As Integer = 0
Dim rowNumber As Integer = 0
AerodynamicTableController.ConvertNumbersToExcelCoordinates(cell, columnNumber, rowNumber)
Dim selection As Selection = Me.sprdSheet.ActiveWorksheetEditor.Selection
selection.Select(New CellRange(rowNumber, columnNumber, rowNumber, columnNumber))
End Sub
The StackTrace (the GetValueAsNonArrayConstantExpression method needs expression variable which is null):
at Telerik.Windows.Documents.Spreadsheet.Expressions.ExpressionExtensions.GetValueAsNonArrayConstantExpression(RadExpression expression, Boolean popupArrayErrors) at Telerik.Windows.Documents.Spreadsheet.Expressions.ExpressionExtensions.GetValueAsNonArrayConstantExpression(RadExpression expression, Boolean popupArrayErrors) at Telerik.Windows.Documents.Spreadsheet.Expressions.ExpressionExtensions.GetValueAsConstantExpression(RadExpression expression) at Telerik.Windows.Documents.Spreadsheet.Model.FormulaCellValue.GetResultValueAsCellValue() at Telerik.Windows.Documents.Spreadsheet.Layout.RadWorksheetLayout.CalculateCellProperties(List`1 cellIndexes) at Telerik.Windows.Documents.Spreadsheet.Layout.RadWorksheetLayout.UpdateCellContentSizesCache() at Telerik.Windows.Documents.Spreadsheet.Layout.RadWorksheetLayout.Measure() at Telerik.Windows.Documents.Spreadsheet.Layout.RadWorksheetLayout.Measure(CellIndex frozenCellIndex) at Telerik.Windows.Controls.Spreadsheet.Worksheets.NormalWorksheetEditorPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Border.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at Telerik.Windows.Controls.Spreadsheet.Worksheets.RadWorksheetEditor.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Border.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Border.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Border.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Grid.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Control.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Controls.Border.MeasureOverride(Size constraint) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.Window.MeasureOverrideHelper(Size constraint) at System.Windows.Window.MeasureOverride(Size availableSize) at Telerik.Windows.Controls.InternalWindow.ChromelessWindowHelper.WindowHostWindow.MeasureOverride(Size availableSize) at System.Windows.FrameworkElement.MeasureCore(Size availableSize) at System.Windows.UIElement.Measure(Size availableSize) at System.Windows.ContextLayoutManager.UpdateLayout() at System.Windows.UIElement.UpdateLayout() at MS.Internal.Documents.DocumentPageTextView.Validate() at MS.Internal.Documents.DocumentPageTextView.Validate(ITextPointer position) at MS.Internal.Documents.TextViewBase.System.Windows.Documents.ITextView.Validate(ITextPointer position) at System.Windows.Documents.TextPointer.GetLineStartPosition(Int32 count, Int32& actualCount) at Telerik.Windows.Controls.Spreadsheet.Worksheets.CellEditorBase.ScrollToCaret() at Telerik.Windows.Controls.Spreadsheet.Controls.RadSpreadsheetFormulaBar.SetFormulaBarTextBoxCaretToStart() at Telerik.Windows.Controls.Spreadsheet.Controls.RadSpreadsheetFormulaBar.UpdateFormulaBarTextFromSelectedCell() at Telerik.Windows.Controls.Spreadsheet.Controls.RadSpreadsheetFormulaBar.Selection_SelectionChanged(Object sender, EventArgs e) at System.EventHandler.Invoke(Object sender, EventArgs e) at Telerik.Windows.Controls.Spreadsheet.Worksheets.SelectionBase.OnSelectionChanged() at Telerik.Windows.Controls.Spreadsheet.Worksheets.Selection.OnSelectionChanged() at Telerik.Windows.Controls.Spreadsheet.Worksheets.SelectionBase.RaiseSelectionChanged() at Telerik.Windows.Controls.Spreadsheet.Worksheets.SelectionBase.SelectInternal(CellIndex fromIndex, CellIndex toIndex, Boolean clearSelection) at Telerik.Windows.Controls.Spreadsheet.Worksheets.SelectionBase.Select(CellIndex fromIndex, CellIndex toIndex, Boolean clearSelection) at Telerik.Windows.Controls.Spreadsheet.Worksheets.SelectionBase.Select(CellRange cellRange, Boolean clearSelection) at Portal_View.Aerodynamic.SpreadSheetView.SelectCell(String cell) in C:\Users\ng707d2\Documents\aDEV\MAA\Sources\WPFPortal\Portal_View\Aerodynamic\Views\SpreadSheetView.xaml.vb:line 193
For this case, I have cheated using a Try Catch statement and the Thread.Sleep() method, andit seems that this piece of code "cancels" the issue:
Try
selection.Select(New CellRange(rowNumber, columnNumber, rowNumber, columnNumber))
Catch ex As Exception
Threading.Thread.Sleep(200)
selection.Select(New CellRange(rowNumber, columnNumber, rowNumber, columnNumber))
End Try
It's like if the RadSpreadsheet component isn't totally build before I'm using it.
But even using my cheat above, I have another NullReferenceException, but I don't know what's the error source because it's catched by my application CurrentDispatcherUnhandledException event:
at Telerik.Windows.Documents.Spreadsheet.Expressions.ExpressionExtensions.GetValueAsNonArrayConstantExpression(RadExpression expression, Boolean popupArrayErrors)
at Telerik.Windows.Documents.Spreadsheet.Expressions.ExpressionExtensions.GetValueAsNonArrayConstantExpression(RadExpression expression, Boolean popupArrayErrors)
at Telerik.Windows.Documents.Spreadsheet.Expressions.ExpressionExtensions.GetValueAsConstantExpression(RadExpression expression)
at Telerik.Windows.Documents.Spreadsheet.Model.FormulaCellValue.GetResultValueAsCellValue()
at Telerik.Windows.Documents.Spreadsheet.Layout.RadWorksheetLayout.CalculateCellProperties(List`1 cellIndexes)
at Telerik.Windows.Documents.Spreadsheet.Layout.RadWorksheetLayout.UpdateCellContentSizesCache()
at Telerik.Windows.Documents.Spreadsheet.Layout.RadWorksheetLayout.Measure()
at Telerik.Windows.Documents.Spreadsheet.Layout.RadWorksheetLayout.Measure(CellIndex frozenCellIndex)
at Telerik.Windows.Controls.Spreadsheet.Worksheets.NormalWorksheetEditorPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at Telerik.Windows.Controls.Spreadsheet.Worksheets.RadWorksheetEditor.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged)
at System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Grid.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Control.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
at System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Controls.Border.MeasureOverride(Size constraint)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.Window.MeasureOverrideHelper(Size constraint)
at System.Windows.Window.MeasureOverride(Size availableSize)
at Telerik.Windows.Controls.InternalWindow.ChromelessWindowHelper.WindowHostWindow.MeasureOverride(Size availableSize)
at System.Windows.FrameworkElement.MeasureCore(Size availableSize)
at System.Windows.UIElement.Measure(Size availableSize)
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.UIElement.UpdateLayout()
at MS.Internal.Documents.DocumentPageTextView.Validate()
at MS.Internal.Documents.DocumentPageTextView.Validate(ITextPointer position)
at MS.Internal.Documents.TextViewBase.System.Windows.Documents.ITextView.Validate(ITextPointer position)
at System.Windows.Documents.TextPointer.GetLineStartPosition(Int32 count, Int32& actualCount)
at Telerik.Windows.Controls.Spreadsheet.Worksheets.CellEditorBase.ScrollToCaret()
at Telerik.Windows.Controls.Spreadsheet.Controls.RadSpreadsheetFormulaBar.SetFormulaBarTextBoxCaretToStart()
at Telerik.Windows.Controls.Spreadsheet.Controls.RadSpreadsheetFormulaBar.UpdateFormulaBarTextFromSelectedCell()
at Telerik.Windows.Controls.Spreadsheet.Controls.RadSpreadsheetFormulaBar.<>c__DisplayClass9.<Cells_CellPropertyChanged>b__8()
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
--
You can find below the csv file content used by the deserialization process:
;ZONE;ID;M;Altitude(ft);ISA(ºC);x(m);Flat Plate BL Method;do you know M1?;Cp;M1 Known;h(mm);Gap (mm);w(mm);a (º);r(mm);b (º);forward-rearward;Forward Chamfer;M1;d_fp(mm);Cf1_fp;Cf1_Known;Cf1_option;CD_Step;Sref(m^2);q1/qinf;md;CD(d.c.);;Title30;Title31;Title32;Title33;Title34;Title35;Title36;Title37;Title38;Title39;Title40 1;C1;LER_1;0,85;35000;0;10;ESDU_00006;NO;-0,124;0,85;{MF}[AL000_AB0001C_AL_0000_14A].F_Actual;{MF}[AL000_AB0001C_AL_0000_14A].G_Actual;24,8;16,7;0;19,8;RWD;0;0,91;109,8;0,001775;0,002289;Known;"{SF}=CD_STEP(E2;D2;F2;I2;J2;K2;W2;L2;R2;Q2;O2;S2;P2)";432,1;"{SF}=Q1_Q(E2;D2;F2;I2;J2;K2)";1;{SF}=Y2*L2*N2*AA2*1E-06*10000/Z2;{SF}=SUM(AC2:AC11);;;;0,4;-0,4 2;C1;LER_1;0,85;35000;0;10;ESDU_00006;NO;-0,124;0,85;{MF}[AL000_AB0001C_AL_0001_14A].F_Actual;{MF}[AL000_AB0001C_AL_0001_14A].G_Actual;24,8;16,7;0;19,7;RWD;0;0,91;109,8;0,001775;0,002307;Known;"{SF}=CD_STEP(E3;D3;F3;I3;J3;K3;W3;L3;R3;Q3;O3;S3;P3)";432,1;"{SF}=Q1_Q(E3;D3;F3;I3;J3;K3)";1;{SF}=Y3*L3*N3*AA3*1E-06*10000/Z3;;;;Kc_Min;0,001777;0,0015;{SF}=AVERAGE(AH3:AI3) 3;C1;LER_1;0,85;35000;0;10;ESDU_00006;NO;-0,123;0,85;{MF}[AL000_AB0001C_AL_0002_14A].F_Actual;{MF}[AL000_AB0001C_AL_0002_14A].G_Actual;24,8;16,7;0;19,6;RWD;0;0,91;109,8;0,001775;0,002327;Known;"{SF}=CD_STEP(E4;D4;F4;I4;J4;K4;W4;L4;R4;Q4;O4;S4;P4)";432,1;"{SF}=Q1_Q(E4;D4;F4;I4;J4;K4)";1;{SF}=Y4*L4*N4*AA4*1E-06*10000/Z4 4;C1;LER_1;0,85;35000;0;10;ESDU_00006;NO;-0,123;0,85;{MF}[AL000_AB0001C_AL_0003_14A].F_Actual;{MF}[AL000_AB0001C_AL_0003_14A].G_Actual;24,8;16,7;0;19,5;RWD;0;0,91;109,8;0,001775;0,00235;Known;"{SF}=CD_STEP(E5;D5;F5;I5;J5;K5;W5;L5;R5;Q5;O5;S5;P5)";432,1;"{SF}=Q1_Q(E5;D5;F5;I5;J5;K5)";1;{SF}=Y5*L5*N5*AA5*1E-06*10000/Z5 5;C1;LER_1;0,85;35000;0;10;ESDU_00006;NO;-0,122;0,85;{MF}[AL000_AB0001C_AL_0004_14A].F_Actual;{MF}[AL000_AB0001C_AL_0004_14A].G_Actual;24,8;16,7;0;19,4;RWD;0;0,91;109,8;0,001775;0,002368;Known;"{SF}=CD_STEP(E6;D6;F6;I6;J6;K6;W6;L6;R6;Q6;O6;S6;P6)";432,1;"{SF}=Q1_Q(E6;D6;F6;I6;J6;K6)";1;{SF}=Y6*L6*N6*AA6*1E-06*10000/Z6 6;C1;LER_1;0,85;35000;0;10;ESDU_00006;NO;-0,121;0,85;{MF}[AL000_AB0001C_AL_0005_14A].F_Actual;{MF}[AL000_AB0001C_AL_0005_14A].G_Actual;24,8;16,7;0;19,2;RWD;0;0,91;109,8;0,001776;0,002389;Known;"{SF}=CD_STEP(E7;D7;F7;I7;J7;K7;W7;L7;R7;Q7;O7;S7;P7)";432,1;"{SF}=Q1_Q(E7;D7;F7;I7;J7;K7)";1;{SF}=Y7*L7*N7*AA7*1E-06*10000/Z7 7;C2;LER_1;0,85;35000;0;10;ESDU_00006;NO;-0,12;0,85;{MF}[AL000_AB0001C_AL_0006_14A].F_Actual;{MF}[AL000_AB0001C_AL_0006_14A].G_Actual;24,8;2,86;0;19,1;RWD;0;0,91;109,8;0,001776;0,00241;Known;"{SF}=CD_STEP(E8;D8;F8;I8;J8;K8;W8;L8;R8;Q8;O8;S8;P8)";432,1;"{SF}=Q1_Q(E8;D8;F8;I8;J8;K8)";1;{SF}=Y8*L8*N8*AA8*1E-06*10000/Z8 8;C2;LER_1;0,85;35000;0;10;ESDU_00006;NO;-0,119;0,85;{MF}[AL000_AB0001C_AL_0007_14A].F_Actual;{MF}[AL000_AB0001C_AL_0007_14A].G_Actual;24,8;2,86;0;19;RWD;0;0,91;109,8;0,001776;0,002432;Known;"{SF}=CD_STEP(E9;D9;F9;I9;J9;K9;W9;L9;R9;Q9;O9;S9;P9)";432,1;"{SF}=Q1_Q(E9;D9;F9;I9;J9;K9)";1;{SF}=Y9*L9*N9*AA9*1E-06*10000/Z9 9;C2;LER_1;0,85;35000;0;10;ESDU_00006;NO;-0,117;0,85;{MF}[AL000_AB0001C_AL_0008_14A].F_Actual;{MF}[AL000_AB0001C_AL_0008_14A].G_Actual;24,8;2,86;0;18,9;RWD;0;0,91;109,8;0,001776;0,002455;Known;"{SF}=CD_STEP(E10;D10;F10;I10;J10;K10;W10;L10;R10;Q10;O10;S10;P10)";432,1;"{SF}=Q1_Q(E10;D10;F10;I10;J10;K10)";1;{SF}=Y10*L10*N10*AA10*1E-06*10000/Z10 10;C2;LER_1;0,85;35000;0;10;ESDU_00006;NO;-0,116;0,85;{MF}[AL000_AB0001C_AL_0009_14A].F_Actual;{MF}[AL000_AB0001C_AL_0009_14A].G_Actual;24,8;2,86;0;18,7;RWD;0;0,91;109,8;0,001777;0,00248;Known;"{SF}=CD_STEP(E11;D11;F11;I11;J11;K11;W11;L11;R11;Q11;O11;S11;P11)";432,1;"{SF}=Q1_Q(E11;D11;F11;I11;J11;K11)";1;{SF}=Y11*L11*N11*AA11*1E-06*10000/Z11
The {SF} flag is removed juste after the deserialization.
The {MF} is replaced by a numeric value during the process.
--
I understand that this case is very strange and complicated to analyze, but do you have any information about these exceptions? I'm using the 2021.1.222.40 Telerik version. I can't really provide you a sample project because it is too big and too sensitive (business environment).
Many thanks.
Valentin M.
Hi Valentin,
Can you shat the code that calls this method and specify when you use it. Is the application loaded at this point?
Thank you in advance for your patience and cooperation.
Regards,
Dimitar
Hello Dimitar,
The code calling the selection.Select method is called when I want to manually apply a value in a cell:
Private Sub ApplyFormulaResults(ByRef dicFormulas As Dictionary(Of String, MaaFormula)) For Each cellFormula As KeyValuePair(Of String, MaaFormula) In dicFormulas If Not cellFormula.Value.CanBeCalculated.HasValue Then Continue For If cellFormula.Value.CanBeCalculated.HasValue Then Me.SelectCell(cellFormula.Key) Me.ApplyFormulaToSelectedCell(cellFormula.Value.TransformedFormula) Dim selectedCell As CellSelection = Me.sprdSheet.ActiveWorksheetEditor.Selection.ActiveCell Dim result As String = selectedCell.GetValue().Value.GetResultValueAsString(CellValueFormat.GeneralFormat) Dim measuredValueDec As Decimal = 0 If Decimal.TryParse(result.Replace(",", "."), NumberStyles.Number, CultureInfo.InvariantCulture, measuredValueDec) Then cellFormula.Value.Result = result cellFormula.Value.CanBeCalculated = True Else 'Error or not all variables available cellFormula.Value.CanBeCalculated = False End If End If Next End Sub
The application is loaded, the spreadsheet is visible and loaded using a Task and the results are calculated before set in the cells.
You can find below the ApplyFormulaToSelectedCell too:
Private Sub ApplyFormulaToSelectedCell(formula As String) Dim selectedCell As CellSelection = Me.sprdSheet.ActiveWorksheetEditor.Selection.ActiveCell selectedCell.SetValue(formula) End Sub
I hope this help.
Thank you,
Valentin M.
Hi Valentin,
Following the provided code I have created a sample project but the exception is not reproducible with it. Could you please check it and let me know what else I need to add in order to reproduce this?
I am looking forward to your reply.
Hello Dimitar,
You can define a ViewModel based on GalaSoft to the sample project. You can add the following structure too, in order to be like my structure:
'In spreadsheet.xaml.vb file AddHandler Me.ViewModel.OnApplyFormulaResults, AddressOfMe.ApplyFormulaResults 'The InitializeSpreadSheet method is called from a task function in the ViewModel Private Async Function StartChecks() As Task Dim isAllProcessPerformed As Boolean = Await Me.RunSpreadSheetCalculations() 'This method calls the InitializeSpreadSheet method End Function 'In my ViewModel too Private Sub InitializeSpreadSheet() Singleton.Instance.InvokeIfRequired(Sub() Me.SpreadSheetViewModel = New SpreadSheetViewModel(False) 'Create the SpreadSheet VM to data contextualized the UserControl associated to Me.ComputeMaaFormulas() 'Call the "RaiseEvent OnApplyFormulaResults(cellFormulas)" code line End Sub) End Sub 'The method to call an action using the Dispatcher Public Sub InvokeIfRequired(action As Action) If Windows.Application.Current?.Dispatcher?.CheckAccess = False Then Windows.Application.Current.Dispatcher.Invoke(Sub() action()) Else action() End If End Sub
I'm sorry I can't provide you a sample project because of my organization's restrictions.
I hope this help.
Is the provided StackTrace helpfull for you?
Thank you,
Valentin M.
Hi Valentin,
This information still does not allow me to reproduce this. I have examined the CallStack again but it does not give a clue what is wrong in this case. What can cause the exception is an invalid expression as well. Perhaps you can examine the parsed CSV file and see if there is a value that is not expected.
I understand that you cannot send the entire project here in the forum. Please consider posting a support ticket which is a private thread and you can attach your project there. This way we ca reproduce this on our side and determine what is casing the issue.
Thank you for your understanding.