Unplanned
Last Updated: 26 Jan 2023 17:04 by ADMIN
Created by: Dess
Comments: 1
Category: UI for WinForms
Type: Feature Request
0

The Control Panel offers a way to reset your password by navigating you to https://www.telerik.com/registration-login/forgotten-password?utm_source=tcp 

Unplanned
Last Updated: 24 Jan 2023 14:31 by ADMIN
Currently, it is not possible to rotate the labels of the Polar/Radial axis.
Unplanned
Last Updated: 23 Jan 2023 10:08 by ADMIN
Created by: Martin
Comments: 13
Category: UI for WinForms
Type: Feature Request
1

We work with a RadGridView with 145000 rows and 4 columns. We use copy-paste to move data around from other apps and the application with build with Telerik.

When we copy a flat file (with tabs delimited fields) and we paste it to the RadGridView, the whole process is painfully slow. The function to retrieve the data from the clipboard takes minutes (maybe hours, I cancelled it). It tracked the cause down to the StringTokenizer class. The tokenizer splits the string up into separate fields. But after extracting a field it creates a new copy of that string (containing about 10MB of data) minus the field. I patched it (with HarmonyX) and now it takes only one second:

static class StringTokenizerPerformancePatch { static private readonly InstanceFieldAccessor<StringTokenizer, LinkedList<string>> _tokens = new InstanceFieldAccessor< StringTokenizer, LinkedList<string>>("tokens"); static private readonly InstanceFieldAccessor<StringTokenizer, string> _sourceString = new InstanceFieldAccessor<StringTokenizer, string>("sourceString"); static private readonly InstanceFieldAccessor< StringTokenizer, string> _delimiter = new InstanceFieldAccessor<StringTokenizer, string>("delimiter"); static private readonly InstanceFieldAccessor< StringTokenizer, IEnumerator<string>> _enumerator = new InstanceFieldAccessor<StringTokenizer, IEnumerator<string>>("enumerator"); [HarmonyPatch(typeof(StringTokenizer), "Tokenize")] staticclassPatch_StringTokenizer_Tokenize { static bool Prefix(StringTokenizer __instance) { var tokens = _tokens.GetValue(__instance); var sourceString = _sourceString.GetValue(__instance); var delimiter = _delimiter.GetValue(__instance); Tokenize(tokens, sourceString, delimiter); _enumerator.SetValue(__instance, tokens.GetEnumerator()); returnfalse; } static private void Tokenize(LinkedList<string> tokens, string text, string delimiter) { tokens.Clear(); if (string.IsNullOrEmpty(text)) return; int index = 0; while(true) { var index2 = text.IndexOf(delimiter, index, StringComparison.Ordinal); if (index2 < 0) { tokens.AddLast(text.Substring(index)); break; } string token = text.Substring(index, index2 - index); tokens.AddLast(token); index = index2 + delimiter.Length; } } } }

Please update your tokanizer to increase performance. While you are at it:
  • If delimiters are one character, why not use String.Split?
  • Why use a LinkedList?
Unplanned
Last Updated: 19 Jan 2023 11:41 by ADMIN
Created by: Kim
Comments: 4
Category: Spreadsheet
Type: Feature Request
2
Add support for conditional formatting 
Unplanned
Last Updated: 17 Jan 2023 09:37 by ADMIN

RadVirtualGrid is created to support a million records or more. Still it contains some "heavy" operations like CopySelection/CutSelection/Paste which can take a long time.

I would like to intercept these methods so I can show a "Please wait"-window during the operation. Furthermore I have the need to set a flag to true when such a operation is executing. 

Unplanned
Last Updated: 16 Jan 2023 11:40 by ADMIN

RadVirtualGridElement.Paste does not support pasting into new rows.

I want to override RadVirtualGridElement.Paste to allow to to paste into new rows. Except when I do so, the methods to retrieve information from the clipboard (GetHtmlData/GetTextData/GetCsvData ) are private.

So now I have one request, two solutions:

  • Make GetHtmlData/GetTextData/GetCsvData  protected so I can call them when I override Paste.
  • Or split up the Paste method into two sub-methods:
    • One sub-method to retrieve the information from the clipboard which will result in a list of list of strings (like: GetClipboardData())
    • The second sub-method to do the actually Paste the list of list of strings into the grid (like: Paste(List<List<string>> data)). Of course this sub-method must be virtual.

 

Unplanned
Last Updated: 13 Jan 2023 14:11 by ADMIN

The assembly is required for our RadMarkupEditor using the IE rendering engine. It allows you to specify HTML-like text formatting at design time in the Properties window of Visual studio:

 

Unplanned
Last Updated: 26 Dec 2022 11:28 by ADMIN
Currently, loading the store layout in RadDock may result in different UI panels according to the available internal splitcontainers/panels that are invisible. Perhaps a "SaveAsDefaultLayout()" and "RestoreDefaultLayout()" method could be introduced. Thus, it wouldn't be necessary to clear the windows before loading XML layout.
Unplanned
Last Updated: 26 Dec 2022 11:08 by ADMIN
Currently, when you load a layout and the XML contains a lot of windows, even though they may not all be visible, I have to set the Visible property to false on the RadDock control to eliminate some funky refreshes are visible to the user (something we want to avoid). I also wanted to mention that using SuspendLayout/ResumeLayout instead of using Visible=false/true does not work.  Maybe this is something the development team can investigate at some point as well.
Unplanned
Last Updated: 23 Dec 2022 10:06 by ADMIN
Created by: martin
Comments: 1
Category: TaskBoard
Type: Feature Request
0

We want to sort a column (the cards in specific Column) in a RadTaskboard. It would be good to have the possibility to use a custom comparer as well

Unplanned
Last Updated: 21 Dec 2022 07:04 by Joaquin
Created by: Joaquin
Comments: 0
Category: PdfViewer
Type: Feature Request
0
Add support for XFA fields
Unplanned
Last Updated: 15 Dec 2022 06:33 by Prafull
Created by: Prafull
Comments: 0
Category: PdfViewer
Type: Feature Request
0
 Add support for highlight annotations
In Development
Last Updated: 09 Dec 2022 14:15 by ADMIN
Scheduled for R1 2023
Created by: Joerg
Comments: 0
Category: SyntaxEditor
Type: Feature Request
9
Add ability to disable horizontal scrollbar and enable word wrapping - fixed width of editor and if the word cannot fit - it is moved to next line.
Unplanned
Last Updated: 09 Dec 2022 07:22 by ADMIN
Created by: Walker
Comments: 1
Category: GridView
Type: Feature Request
2
Show summary row values in collapsed groups.
Unplanned
Last Updated: 08 Dec 2022 11:47 by ADMIN

This is about this method:

        public void SetError(GridViewCellCancelEventArgs e, Exception exception)
        {
            GridViewDataErrorEventArgs args = new GridViewDataErrorEventArgs(exception, 0, 0, GridViewDataErrorContexts.Commit);
            if (e != null)
            {
                args = new GridViewDataErrorEventArgs(exception, e.ColumnIndex, e.RowIndex, GridViewDataErrorContexts.Commit);
            }
            this.EventDispatcher.RaiseEvent<GridViewDataErrorEventArgs>(EventDispatcher.DataError, this, args);

            if (args.ThrowException)
            {
                throw args.Exception;
            }

            if (args.Cancel)
            {
                //TODO: cancel row edit 
            }
        }

The method GridViewTemplate.SetError accepts a parameter of type GridViewCellCancelEventArgs (named e), but uses the information to create a new object of type GridViewDataErrorEventArgs (named args) and uses information from e to fill args.

The method then fires an event with args. Args also has a property Cancel which can be set in the event handlers. But nothing is done with that property.

Parameter e also has a property Cancel which is never be filled. So it could be useful, at the end of SetError, to set e.Cancel with args.Cancel. This way the caller can use the Cancel information from the events.

This request is also related to my next request. 

PS: Why is GridViewCellCancelEventArgs  called this way? It implies it has arguments for an event, but it is not used for an event, am I right?

Unplanned
Last Updated: 29 Nov 2022 05:40 by ADMIN
Created by: Dev
Comments: 2
Category: UI for WinForms
Type: Feature Request
0

Currently, RadGridView offers GridViewImageColumn. However, it would be good to offer support for SVG images out of the box.  

One possible approach is to introduce a new property for the GridViewImageColumn - ImageDrawType = ImageDrawType.Svg that controls what kind of images this column will store.

Second approach is to introduce a new GridViewSvgImageColumn.

Unplanned
Last Updated: 18 Nov 2022 13:29 by ADMIN

Add a RadSpellchecker and a RadTextBox:

        public RadForm1()
        {
            InitializeComponent();

            this.radSpellChecker1.AutoSpellCheckControl = this.radTextBox1; 
        }

When running the application and typing fast "th", you will notice that there is a slight delay before seeing "h" in the editor.

However, the next time you type "th", it will be entered instantly.

All the dictionaries for the spell checking functionality are loaded with MEF. That is why the initial loading may be slow. RadRichTextEditor uses internally Telerik.WinForms.Documents.Proofing.DocumentSpellChecker which offers AutomaticallyLoadDefaultDictionaries property. It controls whether MEF should be used to load default dictionaries. Such functionality should be introduced for Telerik.WinControls.SpellChecker.Proofing.DocumentSpellChecker used by RadSpellchecker.

Note: Please refer to Example 8: Use Spell Checking Without MEFhttps://docs.telerik.com/devtools/wpf/controls/radrichtextbox/mef 

In Development
Last Updated: 16 Nov 2022 05:47 by ADMIN
When you inspect a RadGridView Cell with the inspect.exe tool you will see that the Value property is empty.
Unplanned
Last Updated: 14 Nov 2022 20:41 by ADMIN

In this particular scenario, the RadDropDownListEditor element inside the RadComboBoxColumn cell contains an empty string item. So when we try to clear the value of the cell and leave it empty, the internal logic will return the last selected valid value. The following code demonstrate a simple example:

DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(int));
dt.Columns.Add("codice", typeof(string));
dt.Columns.Add("nome", typeof(string));

dt.Rows.Add(0, "", "");
dt.Rows.Add(1, "I622", "Seravezza");
dt.Rows.Add(2, "G628", "Pietrasanta");
dt.Rows.Add(3, "L833", "Viareggio");

The first row in the DataTable which the RadGridView contains an empty value. If for example, the second row is selected and we use Backspace/Delete to clear the text and move to another cell. The selected item won't be changed. The cell value won't be cleared. To workaround this we could avoid using empty strings. We could use space or some other symbol to allow the user to clear the value from the drop-down popup.

dt.Rows.Add(0, "", "-");
OR
dt.Rows.Add(0, "", " ");

Unplanned
Last Updated: 14 Nov 2022 07:39 by ADMIN
Add support for DeletePreviousWord and DeleteNextWord commands, triggered with Ctrl+Backspace and Ctrl+Delete keyboard shortcuts.
1 2 3 4 5 6