Approved
Last Updated: 26 Feb 2019 13:52 by ADMIN

The issue can be observed in themes having shadows:

- Material 

- Fluent

Approved
Last Updated: 26 Feb 2019 12:19 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 0
Category: UI Framework
Type: Bug Report
0
After revamping the documentation for the Telerik UI for WinForms product, the following problems occurred:

1. Search for a specific class or method in the search box in the following site: https://docs.telerik.com/devtools/winforms/introduction. Select one of the results referring to the API documentation. As a result you will be navigated to the main page of the API reference instead of to the respective class or method. Refer to the Problem1.gif file. It seems that the search results from the API reference return old links for the previous API link pattern.

2. The search box in https://docs.telerik.com/devtools/winforms/api/ is significantly lagging while typing. We should consider performing the search operation after pressing Enter and not with each keystroke. Please refer to the Problem2.gif file.

3.  When you scroll the navigation view on the left side to a certain position and select an article, the vertical scrollbar sometimes gets reset to the top position and you have to scroll back.  (Note that this problem is not reproduced each time).
Approved
Last Updated: 26 Feb 2019 09:06 by ADMIN

Use attached to reproduce (the orientation must be set at design time)

Workaround:

Set it in code:

commandBarToggleButton2.Orientation = Orientation.Vertical
Approved
Last Updated: 25 Feb 2019 12:43 by ADMIN

To reproduce:

- Set SutoSize to false and resize the control vertically.

Workaround:

radMaskedEditBox1.MaskedEditBoxElement.StretchVertically = true;

Approved
Last Updated: 25 Feb 2019 11:32 by ADMIN
Using the RadDocumentEditor class, the users can change the margin of the current section. However, there isn't a method allowing them to change the default section margin of the document. 
Approved
Last Updated: 22 Feb 2019 12:25 by ADMIN
Use attached to reproduce. 
Approved
Last Updated: 21 Feb 2019 13:42 by ADMIN
One should not be able to use the ribbon bar buttons when a protected document is opened or the rich text editor is read-only. 
Approved
Last Updated: 21 Feb 2019 11:18 by ADMIN

If i have lots of group, the horizontal axis gets full with the square 4x4 groups, but the vertacal axis has lots of empty space.
I could break the squareness of the groups to make them longer in the vertical axis, but that seems a bit ugly.

However, I cannot seem to find a way to put a group under another group, therefore utilising both the X and Y dimensions well.

Can it be done?



i.e.

--Group 1--   --Group2--

Tile     Tile     Tile     Tile

Tile     Tile     Tile     Tile



--Group 3--

Tile      Tile

Tile      Tile

 

Before (How it is now):

Before

  After (How I'm proposing it can be):

After

Approved
Last Updated: 21 Feb 2019 08:27 by ADMIN
To reproduce:
- Filter a self-referencing grouped grid. 

Workaround:
private void _rgvFreeCodeValues_FilterChanged(object sender, GridViewCollectionChangedEventArgs e)
{
    foreach (var row in RgvFreeCodeValues.Rows)
        row.IsExpanded = false;
}

private void _rgvFreeCodeValues_FilterChanging(object sender, GridViewCollectionChangingEventArgs e)
{
    foreach (var row in RgvFreeCodeValues.Rows)
        row.IsExpanded = true;
}
Completed
Last Updated: 21 Feb 2019 05:42 by ADMIN
This was working this way in 2017 then we changer it so all rows are affected. 

Bot modes should be supported. 

Approved
Last Updated: 20 Feb 2019 12:43 by ADMIN
Caret jumps several symbols to the right when arabic or persian is used and user deletes the dot symbol. As a result the wrong symbol is deleted.
Approved
Last Updated: 20 Feb 2019 11:38 by ADMIN
When a PDF document contains images compressed with CCITTFaxDecode with applied BlackIs1 parameter, black color is visualized as white and white as black.
Approved
Last Updated: 20 Feb 2019 11:14 by ADMIN
Other themes are also missing the IsSelected state, the fix should also handle them.
Completed
Last Updated: 19 Feb 2019 15:58 by ADMIN
Created by: Frank
Comments: 2
Category: UI for WinForms
Type: Feature Request
3
I need to tab though the form fields in RadPdfViewer instead of having to click in each one
Completed
Last Updated: 19 Feb 2019 14:12 by ADMIN

To reproduce: 

-Open the FileExplorer example. 

- Resize the panel (see attached).

Completed
Last Updated: 19 Feb 2019 14:07 by ADMIN
This will handle the scenario of having different image sets for different DPI.
Completed
Last Updated: 15 Feb 2019 17:02 by ADMIN

Hello,

We have developed an ASP.NET application and a WinForms application that both uses Telerik RadScheduler. The applications share the same data.

We have set EnableExactTimeRendering = true to prevent appointments to falsely be displayed as collisions.

Our problem is that appointments with short durations (0-4 minutes) are totally invisible in the WinForms Scheduler. In the ASP.NET scheduler all appointments are visible. An appointment with no duration (0 minutes) is shown as 30min appointment in ASP.NET while 1-minute appointments are shown as a thin line which is ok as we use tooltips for all appointments.

How can we make all appointments visible in WinForms and still use EnableExactTimeRendering? Of course, the rendering will not be exact for small durations but that is better than not showing the appointments at all. We would like to set a minimum size for appointments.

Best regards,
Daniel Gidlöf

 

Completed
Last Updated: 15 Feb 2019 16:50 by ADMIN
Completed
Last Updated: 15 Feb 2019 16:46 by ADMIN

AutoCompleteSuggestHelper, Assembly: Telerik.WinControls.UI, Version=2019.1.117.40

 

Isnt the hilighted line (contains branch) very unoptimized.

https://rhale78.wordpress.com/2011/05/16/string-equality-and-performance-in-c/

Multiple ToLower string operation. Why not let the framework do the operation since you are always using ordinal?

optimized version: return item.Text.Contains(this.Filter, StringComparison.OrdinalIgnoreCase);


 

protected virtual bool DefaultFilter(RadListDataItem item)
    {
      switch (this.suggestMode)
      {
        case SuggestMode.StartWiths:
          return item.Text.StartsWith(this.Filter, this.StringComparison);
        case SuggestMode.Contains:
          if ((this.StringComparison & StringComparison.InvariantCultureIgnoreCase) == StringComparison.InvariantCultureIgnoreCase || (this.StringComparison & StringComparison.InvariantCultureIgnoreCase) == StringComparison.CurrentCultureIgnoreCase)
            return item.Text.ToLower().Contains(this.Filter.ToLower());
          return item.Text.Contains(this.Filter);
        default:
          return item.Text.StartsWith(this.Filter, this.StringComparison);
      }
    }

 

Completed
Last Updated: 15 Feb 2019 16:41 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 3
Category: MultiColumnCombo
Type: Bug Report
5
To reproduce:

Repository commonRepository = new Repository();

public Form1()
{
    InitializeComponent();

    InitializeDropDown();

    this.radMultiColumnComboBox1.DropDownMinSize = new Size(1100, 400);
    this.radMultiColumnComboBox1.EditorControl.ViewCellFormatting += EditorControl_ViewCellFormatting;
}

private void EditorControl_ViewCellFormatting(object sender, CellFormattingEventArgs e)
{
    if (e.Row is GridViewDataRowInfo && e.CellElement is GridRowHeaderCellElement)
    {
        e.CellElement.Text = e.RowIndex.ToString();
    }
}

public class Instrument
{ 
    public string Isin { get; set; }

    public string Description { get; set; }
    
    public string AlphaCode { get; set; }
    
    public string MicMarketplaceCode { get; set; }
    
    public string WorpMarketPlaceDescription { get; set; }
     
    public string InstrumentType { get; set; }
   
    public string DerivateIsin { get; set; }
    
    public int Order { get; set; }
}

public class Repository
{
    public BindingList<Instrument> GetInstruments()
    {
        Random rand = new Random();
        BindingList<Instrument> list = new BindingList<Instrument>();
        for (int i = 0; i < 80000; i++)
        {
            list.Add(new Instrument()
            {
                Isin = Guid.NewGuid().ToString(),
                Description = "Description" + i,
                AlphaCode = "Code" + i,
                MicMarketplaceCode = "MicCode" + i,
                WorpMarketPlaceDescription = "MPdescription" + i,
                InstrumentType = "Type" + i % 3,
                DerivateIsin = Guid.NewGuid().ToString(),
                Order = rand.Next(1, 100)
            });
        }
        return list;
    }
}

public void InitializeDropDown()
{
    var ui = TaskScheduler.FromCurrentSynchronizationContext();

    Task.Factory.StartNew(() =>
    {
        var result = commonRepository.GetInstruments();
        return result;
    }).ContinueWith(res =>
    {
        if (res.IsCompleted)
        {
            this.radMultiColumnComboBox1.DisplayMember = "Description";
            this.radMultiColumnComboBox1.ValueMember = "Isin";
            this.radMultiColumnComboBox1.AutoFilter = true;

            this.radMultiColumnComboBox1.DataSource = res.Result;

            CompositeFilterDescriptor compositeFilter = new CompositeFilterDescriptor();

            FilterDescriptor code = new FilterDescriptor("Isin", FilterOperator.Contains, "");
            FilterDescriptor description = new FilterDescriptor("Description", FilterOperator.Contains, "");
            FilterDescriptor alphaCode = new FilterDescriptor("AlphaCode", FilterOperator.Contains, "");
            FilterDescriptor micMarketplaceCode = new FilterDescriptor("MicMarketplaceCode", FilterOperator.Contains, "");
            FilterDescriptor worpMarketPlaceDescription = new FilterDescriptor("WorpMarketPlaceDescription", FilterOperator.Contains, "");
            FilterDescriptor instrumentType = new FilterDescriptor("InstrumentType", FilterOperator.Contains, "");
            FilterDescriptor derivateIsin = new FilterDescriptor("DerivateIsin", FilterOperator.Contains, "");

            compositeFilter.FilterDescriptors.Add(code);
            compositeFilter.FilterDescriptors.Add(description);
            compositeFilter.FilterDescriptors.Add(alphaCode);
            compositeFilter.FilterDescriptors.Add(micMarketplaceCode);
            compositeFilter.FilterDescriptors.Add(worpMarketPlaceDescription);
            compositeFilter.FilterDescriptors.Add(instrumentType);
            compositeFilter.FilterDescriptors.Add(derivateIsin);

            compositeFilter.LogicalOperator = FilterLogicalOperator.Or;

            this.radMultiColumnComboBox1.EditorControl.FilterDescriptors.Add(compositeFilter);

            this.radMultiColumnComboBox1.EditorControl.BestFitColumns();

            for (int i = 0; i < this.radMultiColumnComboBox1.EditorControl.Columns.Count; i++)
            {
                var column = this.radMultiColumnComboBox1.EditorControl.Columns[i];

                switch (column.Name)
                {
                    case "Isin":
                        column.HeaderText = "Header Isin";
                        column.Width = 120;
                        break;
                    case "Description":
                        column.HeaderText = "Header Description";
                        break;
                    case "AlphaCode":
                        column.HeaderText = "Header AlphaCode";
                        break;
                    case "MicMarketplaceCode":
                        column.HeaderText = "Header MicMarketplaceCode";
                        break;
                    case "WorpMarketPlaceDescription":
                        column.HeaderText = "Header WorpMarketPlaceDescription";
                        break;
                    case "InstrumentType":
                        column.HeaderText = "Header InstrumentType";
                        break;
                    case "DerivateIsin":
                        column.HeaderText = "Header DerivateIsin";
                        break;
                    case "Order":
                        column.IsVisible = false;
                        break;
                }
            }

            this.radMultiColumnComboBox1.SelectedItem = null;

            this.radMultiColumnComboBox1.Text = "Instrument";
            this.radMultiColumnComboBox1.ForeColor = Color.Gray;

            this.radMultiColumnComboBox1.MultiColumnComboBoxElement.DropDownWidth = 550;
        }
        else
        {
            RadMessageBox.Show(res.Exception.Message);
        }
    }, ui);
}

Workaround: use custom filtering instead of CompositeFilterDescriptor:

FilterDescriptor filter = new FilterDescriptor();
filter.PropertyName = this.radMultiColumnComboBox1.DisplayMember;
filter.Operator = FilterOperator.Contains;
this.radMultiColumnComboBox1.EditorControl.MasterTemplate.FilterDescriptors.Add(filter);
this.radMultiColumnComboBox1.EditorControl.EnableCustomFiltering = true;
this.radMultiColumnComboBox1.EditorControl.CustomFiltering += EditorControl_CustomFiltering;

 private void EditorControl_CustomFiltering(object sender, GridViewCustomFilteringEventArgs e)
 {
     string searchText = this.radMultiColumnComboBox1.MultiColumnComboBoxElement.EditorElement.Text;
     if (searchText != string.Empty)
     {
         Instrument instrument = e.Row.DataBoundItem as Instrument;

         e.Handled = true;
         e.Visible = instrument.Isin.Contains(searchText) || instrument.Description.Contains(searchText) || instrument.AlphaCode.Contains(searchText) ||
                     instrument.MicMarketplaceCode.Contains(searchText) || instrument.WorpMarketPlaceDescription.Contains(searchText) ||
                     instrument.InstrumentType.Contains(searchText) || instrument.DerivateIsin.Contains(searchText);
     }
 }