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");
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); }
MS Excel has this splitter functionality:
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) { }
Hi,
if you add a Style to a cell containing a "\n" (which I am forced to use, since text wrap does not work either) the style won't apply.
To reproduce just add a radspreadsheet to a form
public Form1()
{
InitializeComponent();
Workbook workbook = new Workbook();
radSpreadsheet1.Workbook = workbook;
Worksheet worksheet = workbook.ActiveWorksheet;
CellStyle style = workbook.Styles.Add("HeaderStyle");
style.IsBold = true;
worksheet.Cells[0, 0].SetValue("first\ncell");
worksheet.Cells[0, 1].SetValue("second cell");
worksheet.Cells[0, 0, 0, 1].SetStyleName("HeaderStyle");
}
Regards,
Markus
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.
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:
The resize option available in MS Excel is: