When setting the following strings as cell value, they are recognized as dates. In industry standard applications like MS Excel and OpenOffice, they are recognized as strings: - "12 3456" in bg-BG, fr-FR, ru-RU, sv-FI, en-US - "12.3456" in de-DE - "1 23" in en-US - "2013/5" in en-US - "3000-03" in en-US
When using the Fill feature through the dialog, the series are currently filled only for the cells, which are included in the selection. Introduce functionality to fill them without requiring a selection. A custom implementation can be plugged through a custom dialog. A sample showing how to replace the default dialog with a custom one is available in the attachments of the item.
When RadSpreadsheet is placed inside a data template and the Workbook property is bound, the binding fails. In the Convert() method of the debug converter, the proper value is set. However, an empty workbook is displayed in the view.
When a workbook protection is applied, changing the color of a tab in the sheet selector shouldn't be allowed. Workaround: Remove the Tab Color item from the Items collection of the SheetSelectorContextMenu.
Provide the ability to work with images in headers/footers of a worksheet. Note that large images put in headers are visualized as watermarks on printing/exporting to PDF.
At this point, the ribbon and the context menu are not localized out of the box and the users need to change the strings manually.
Currently the following text filters are not supported in the model, filtering popup and Custom Filter dialog: - begins with - does not begin with - ends with - does not end with - contains - does not contain. All of these are supported in MS Excel.
Check how the performance can be improved in this scenario. The StyleGallery is taking much time to load, the GetUsedCellRange method is called multiple times.
If the RadSpreadsheet is declared as a child content in the RadBusyIndicator, there isn't any tab selected as active in the SheetSelector. Workaround: Declare the busy indicator after the RadSpreadsheet not as its child. For example, instead of: <telerik:RadBusyIndicator> <telerik:RadSpreadsheet x:Name="radSpreadsheet" /> </telerik:RadBusyIndicator> Do: <Grid> <telerik:RadSpreadsheet x:Name="radSpreadsheet" /> <telerik:RadBusyIndicator /> </Grid>
Add support for import and export of Excel Template files (XLTS) file format.
The overlapping of SelectionFill and SelectionStroke geometries may be seen in the attached screenshot. This scenario may be reproduced with the following RadSpreadsheet instance: <telerik:RadSpreadsheet SelectionStroke="Red" SelectionStrokeThickness="10" FillHandleSelectionStroke="Green" SelectionFill="#550000FF" />
The default set of WPF UI controls measured in infinity results in the minimal size of the control. RadSpreadsheet should behave the same. This will help users to find out what is happening while debugging.
Enable copy-paste of content from and to Excel, preserving all of the applied formatting, styles and images. Currently, RadSpreadsheet supports only CSV for exchanging clipboard data with Excel, and all formatting (including number formats and data validation) is lost.
If you set "[h]:mm" as a custom format to a cell which has time set to it the calculated value in the cell is wrong for the minutes. The minutes part is interpreted as months.
The number format [hh]:mm causes ArgumentException on import.
The visualization and scrolling of documents containing many merged cells (e.g. 1000) is very slow. The control becomes almost unusable when the number increases.
Grouping is a mechanism to organize data in sections, in order to be able to show and hide the relevant chunks. Each row or column which is part of a group is assigned an outline level, which determines the level of grouping and from there which rows or columns it is grouped with.
DataValidationRule is persisted after pasting a cell value which is copied from a cell without DataValidationRule applied. For example: Cell A1 has data validation rule applied. The cell A2 doesn't have. The value from cell A2 is copied to cell A1. The result is that cell A1 still has data validation, but it shouldn't.
Workaround: Import the document without using the default command OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "All Spreadsheet Files (*.txt, *.csv, *.pdf, *.xlsx)|*.txt;*.csv;*.pdf;*.xlsx|Excel Workbook (*.xlsx)|*.xlsx|CSV (Comma delimited) (*.csv)|*.csv|Text (Tab delimited) (*.txt)|*.txt|All Files (*.*)|*.*"; if (openFileDialog.ShowDialog() == true) { string extension = Path.GetExtension(openFileDialog.SafeFileName); using (Stream input = openFileDialog.OpenFile()) { Workbook workbook = WorkbookFormatProvidersManager.Import(extension, input); workbook.Name = openFileDialog.SafeFileName; // in the default implementation this is set after applying the document to RadSpreadsheet and triggers the event this.radSpreadsheet.Workbook = workbook; } }
At the moment when any of the properties are changed, e.g. the frozen panes, the UI is not notified and you have to export and import the file in order for the UI to pick them up.
Workaround: There are several workarounds:
1. Change the active worksheet and return to the old one
2. Export and import the document
3. Change the workbook of the RadSpreadsheet to a new one, and return the old one after that
4. Freeze the active worksheet using the ActiveWorksheetEditor.FreezePanes() method and freeze all others using the ViewState:
RadWorksheetEditor editor = this.radSpreadsheet.ActiveWorksheetEditor;
editor.FreezePanes(new CellIndex(3,3));
foreach (var worksheet in this.radSpreadsheet.Workbook.Worksheets)
{
worksheet.ViewState.FreezePanes(5, 5);
}