Approved
Last Updated: 07 Oct 2019 10:11 by ADMIN

Add a RadSpreadsheet on the form and try resizing it at design time. You will notice that the control is resized after a considerable delay.

If you Dock the control to Fill and try resizing the form at run you will notice that the layout is incorrect. The attached gif file illustrates the obtained behavior.

Workaround: update the layout after resizing:

        public RadForm1()
        {
            InitializeComponent();
            this.radSpreadsheet1.SizeChanged+=radSpreadsheet1_SizeChanged;
        }

        private void radSpreadsheet1_SizeChanged(object sender, EventArgs e)
        {
            this.radSpreadsheet1.SpreadsheetElement.InvalidateMeasure(true);
            this.radSpreadsheet1.SpreadsheetElement.UpdateLayout();
        }

Approved
Last Updated: 07 Aug 2019 06:33 by ADMIN

Please follow the steps:

1. Run the attached sample project. 

2. Move the form to a monitor with 125% DPI scaling.

3. Resize the form to make the spreadsheet bigger. You will notice that the column/row headers are missing for the last column/row headers. 

Approved
Last Updated: 06 Aug 2019 04:49 by ADMIN
The scale factor is not imported from documents with no information about the selection state.
Approved
Last Updated: 03 Feb 2019 12:25 by Ioannis
Created by: Ioannis
Comments: 3
Category: Spreadsheet
Type: Bug Report
1

Hello,

 

So here's what happens. I create a workbook and a worksheet in that wb which I assign as the workbook of a RadSpreadSheet by RadSpreadSheet..Workbook = wb

The first time I assign a name to the first (and only sheet) created in the creation of the wb, the name does appear on that sheet.

Then some code takes this workbook ByVal, creates a new Sheet, makes that sheet the wb's ActiveWorksheet and then changes the ws's name.

You can see in the debugging that the worksheet does have the new name i put there ("2018-05"), but visually this 2nd worksheet has the default name "sheet 2".

Then that wb which is returned by the function is assigned as the RadSpreadSheet's workbook

If I run the code again, so a 3rd sheet is created, then the 3rd sheet will visually have the default name "sheet 3", however in the debugger it says "2018-06" as its name; but most importantly, now sheet 2 has magically changed to what I was seeing its name to be in the debugger ("2018-05").

 

I'm assuming that If I'm changing the sheet names at runtime, I need to call some method on the Workbook element or something like that in order to update the names. I just couldn't find which method to call.

 

Best regards,

Ioannis Mamalikidis.

Approved
Last Updated: 02 Jan 2019 15:08 by ADMIN
Created by: Ioannis
Comments: 3
Category: Spreadsheet
Type: Bug Report
2

Hello,

 

I have a RadRibbonForm with a normal ribbon with no items and a spreadsheet control.

 

I iterate over a datatable and fill the spreadsheet's cell values with the datatable's values

we're talking about a very small size, like 33 rows x 35 columns, and not even all the values are filled in.

 

Unfortunately, there's a very noticeable delay in the spreadsheet, from moving the scrollbars to selecting to changing sheets.. the whole thing feels laggy.

Is this just how it is, or am I experiencing a possible bug?

Could it have anything to do with https://feedback.telerik.com/winforms/1380948-exception-at-runtime-trial-bug ?

 

If that is just how it is, is there anything I can do to make it feel snappier? Disable a theme? Disable some behaviour?

Approved
Last Updated: 21 Jun 2018 14:10 by ADMIN
Approved
Last Updated: 16 Mar 2018 11:14 by ADMIN
Approved
Last Updated: 06 Mar 2018 15:02 by ADMIN
Workaround: Handle the MouseWheel event of the control

private void RadSpreadsheet1_MouseWheel(object sender, MouseEventArgs e)
{
    int offset = this.radSpreadsheet1.SpreadsheetElement.VerticalScrollBar.SmallChange * 3;
    int x = e.Delta < 0 ? offset : -offset;
    this.radSpreadsheet1.SpreadsheetElement.VerticalScrollBar.ClampValue = true;
    this.radSpreadsheet1.SpreadsheetElement.VerticalScrollBar.Value += x;

    RadWorksheetEditor editor = this.radSpreadsheet1.SpreadsheetElement.ActiveSheetEditor as RadWorksheetEditor;
    if (editor != null)
    {
        IRadWorksheetEditorPresenter presenter = (IRadWorksheetEditorPresenter)editor.GetType().GetField("activePresenter", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue(editor);
        presenter.SetVerticalOffset(presenter.VerticalOffset + x);
        editor.InvalidateMeasure(true);
    }
}