I have implemented the ListDataValidationRule code to add a dropdownlist to the spreadsheet. Based on the code I can find and the searching I have conducted, it seems to be correct, however the dropdown does not appear in the control.
The dropdown list does appear in Excel when I export the file.
Dim Context As ListDataValidationRuleContext = New ListDataValidationRuleContext(CurrentWorksheet, CurrentCellIndex)
Hello,
So, I'm testing the Telerik suite, part of which is the RadSpreadSheet. I'm currently using the 30 days trial.
So, when I'm debugging it and I'm instantiating a new form that contains the RadSpreadSheet, the programme will about 50% of the time create an exception of object reference not set to an instance of an object
Now, I've only noticed this with forms that contain a radspreadsheet but it could have nothing to do with it.
What always happens before I get the exception is that the reminder to buy a Telerik License appears (the programme halts until I choose an option) and when the dialogue disappears, the exception happens.
Please note that if I just push "F5" again in VS, without changing anything anywhere, so after the crash immediately debug (F5) again, the exception will not occur.
To reproduce: - Add a spreadsheet and add ribbon bar from the smart tag. - Start the application. Workaround: protected override void OnShown(EventArgs e) { base.OnShown(e); var parameter = 11; this.radSpreadsheet1.SpreadsheetElement.CommandDescriptors.SetFontSize.Command.Execute(parameter); FontFamilyInfo parameter1 = new FontFamilyInfo(new System.Windows.Media.FontFamily("Calibri")); this.radSpreadsheet1.SpreadsheetElement.CommandDescriptors.SetFontFamily.Command.Execute(parameter1); }
To reproduce: please refer to the attached gif file demonstrating how to replicate the problem with the Demo application. Scroll with the mouse wheel and you will notice the the row index disappears until you click a cell. Using the thumb will behave as expected. Workaround: this.radSpreadsheet1.SpreadsheetElement.VerticalScrollBar.ValueChanged+=VerticalScrollBar_ValueChanged; private void VerticalScrollBar_ValueChanged(object sender, EventArgs e) { this.radSpreadsheet1.SpreadsheetElement.InvalidateMeasure(true); }
Ideally we should expose the events in the RadPrintDocument object. Workaround handling the PrintPreview method: private void button1_Click(object sender, EventArgs e) { RadPrintDocument printDocument = new RadPrintDocument(); IPrintable printManager = typeof(RadSpreadsheetElement).GetProperty("PrintManager", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(this.radSpreadsheet1.SpreadsheetElement) as IPrintable; printDocument.AssociatedObject = printManager; printDocument.BeginPrint += PrintDocument_BeginPrint; printDocument.PrintPage += PrintDocument_PrintPage; printDocument.EndPrint += PrintDocument_EndPrint; printDocument.QueryPageSettings += PrintDocument_QueryPageSettings; SpreadsheetPrintPreviewDialog printPreviewDialog = new SpreadsheetPrintPreviewDialog(printDocument); printPreviewDialog.ThemeName = this.radSpreadsheet1.ThemeName; printPreviewDialog.ShowDialog(); } private void PrintDocument_QueryPageSettings(object sender, System.Drawing.Printing.QueryPageSettingsEventArgs e) { } private void PrintDocument_EndPrint(object sender, System.Drawing.Printing.PrintEventArgs e) { } private void PrintDocument_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e) { } private void PrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { }
When the text is set using the following code, the text in a wrapped cell is overlapping.
radSpreadSheet1.ActiveWorksheet.Cells[0, 0].SetValue(@"Blocked flow; potential increase in level in (BLANK); potential to overfill equipment; potential spill or overflow to (BLANK)
Blocked flow; potential increase in level in (BLANK);
potential to overfill equipment; potential spill or overflow to(BLANK)");
radSpreadSheet1.ActiveWorksheet.Columns[0].SetWidth(new ColumnWidth(300, true));
Worksheet worksheet = radSpreadSheet1.ActiveWorksheet as Worksheet;
CellStyle cellStyle = worksheet.Workbook.Styles.Add("Wrap Style", CellStyleCategory.Custom);
cellStyle.IsWrapped = true;
CellRange cr = new CellRange(0, 0, 10, 10);
worksheet.Cells[cr].SetStyleName("Wrap Style");
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); } }
The control can be resized in the designer. The resize operation starts with a slight delay and it is necessary to wait for this initial delay. From then on the control can be freely resized. The attached gif file illustrates this. Workaround: 1. Set the size using the property grid 2. Add a panel and dock the control to fill the panel, then resize the panel
To reproduce: - Open the first look example. - Choose Save from the backstage button. - Currently, the default is PDF, It should be xlsx.
Please follow the steps in the VS Designer:
1. Add a RadSpreadsheet and Office2019Dark theme:
2. Set the ThemeName for RadSpreadsheet to Office2019Dark:
3. Run the project. You will see that the row/column headers are not readable:
4. Stop the project and reopen the designer:
Clicking on a calculated cell leads to the following error and crashes the demo:
Currently, the WinForms Spreadsheet doesn't have separators between the column headers:
It would be better to have separators for the headers like the WPF Spreadsheet: