In Development
Last Updated: 02 Jan 2019 11:45 by ADMIN
Created by: Ioannis
Comments: 11
Category: Spreadsheet
Type: Bug Report
1

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.

In Development
Last Updated: 27 Nov 2018 11:44 by ADMIN
How to reproduce: see the attached video

Workaround:
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();

        this.radPivotFieldList1.DragDropService = new CustomPivotFieldListDragDropService(this.radPivotFieldList1);
    }

    private void Form2_Load(object sender, EventArgs e)
    {
        // TODO: This line of code loads data into the 'nwindDataSet.Orders' table. You can move, or remove it, as needed.
        this.ordersTableAdapter.Fill(this.nwindDataSet.Orders);

    }
}

public class CustomPivotFieldListDragDropService : PivotFieldListDragDropService
{
    private RadPivotFieldList fieldList;
    private Telerik.WinControls.UI.PivotFieldList.FieldPayload payload;

    public CustomPivotFieldListDragDropService(RadPivotFieldList fieldList)
        : base(fieldList)
    {
        this.fieldList = fieldList;
    }

    protected override void PerformStart()
    {
        base.PerformStart();

        Telerik.WinControls.UI.PivotFieldList.IField draggedField = this.GetField(this.Context);

        if (draggedField == null)
        {
            this.Stop(false);
            return;
        }

        this.payload = new Telerik.WinControls.UI.PivotFieldList.FieldPayload(draggedField);
    }

    protected override void OnPreviewDragOver(RadDragOverEventArgs e)
    {
        RadElement targetElement = this.DropTarget as RadElement;
        Telerik.WinControls.UI.PivotFieldList.IField targetField = this.GetField(targetElement);

        if (targetElement != null && targetElement.ElementTree.Control == this.fieldList.ReportFiltersControl && this.payload != null)
        {
            foreach (Telerik.WinControls.UI.PivotFieldList.IField field in this.fieldList.ViewModel.Filters)
            {
                if (field.FieldInfo == payload.DraggedField.FieldInfo &&  this.Context is TreeNodeElement ))
                {
                    e.CanDrop = false;
                    this.payload.SetDestination(null);
                    this.payload.RemoveFromSource = false;

                    return;
                }
            }
        }

        base.OnPreviewDragOver(e);
    }

    private Telerik.WinControls.UI.PivotFieldList.IField GetField(object context)
    {
        RadListVisualItem listItem = context as RadListVisualItem;
        TreeNodeElement treeItem = context as TreeNodeElement;
        PivotFieldListItemButton button = context as PivotFieldListItemButton;

        if (button != null)
        {
            listItem = button.Owner;
        }

        Telerik.WinControls.UI.PivotFieldList.IField field1 = null, field2 = null;
        if (listItem != null && listItem.Data != null)
        {
            field1 = listItem.Data.DataBoundItem as Telerik.WinControls.UI.PivotFieldList.IField;
        }

        if (treeItem != null && treeItem.Data != null)
        {
            field2 = treeItem.Data.DataBoundItem as Telerik.WinControls.UI.PivotFieldList.IField;
        }

        return field1 ?? field2;
    }
}
In Development
Last Updated: 20 Nov 2018 14:34 by ADMIN
Use attached to reproduce. Move the splitter with the mouse and you will notice that is position is not correct when the mouse is released
In Development
Last Updated: 01 Nov 2018 09:56 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 0
Category: VirtualGrid
Type: Bug Report
1
It is difficult to replicate the issue and it is not always reproduced. When using the splitter between columns[1] and columns[2]  to resize column[1] I found out that releasing the mouse button doesn't cause the splitter to be released, even when clicking on the grid. It seems to work ok once or twice but once it fails then keeps failing.

Workaround:
        private void radVirtualGrid1_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                this.radVirtualGrid1.Cursor = Cursors.Default;
            }
        }
In Development
Last Updated: 19 Jun 2017 12:54 by ADMIN
To reproduce: please refer to the attached sample project and gif file.

Workaround: use the CellFormatting event and apply the light orange BackColor for the selected cells belonging to the current pinned column:

private void radGridView1_CellFormatting(object sender, Telerik.WinControls.UI.CellFormattingEventArgs e)
{
    if (e.Row.IsSelected && e.Column.IsCurrent)
    {
        e.CellElement.BackColor = Color.FromArgb(255, 231, 174);
    }
    else
    { 
        e.CellElement.ResetValue(LightVisualElement.BackColorProperty, ValueResetFlags.Local);
    }
}
In Development
Last Updated: 07 Apr 2015 16:46 by ADMIN
To reproduce:
- Add RadDropDownButton to a blank form.
- Set its anchor property to top, right and its AutoSize property to true.
- At runtime set the button text to a long string, you will notice that the button is resized to the right when it should be resized to the left.

To workaround this you can subscribe to the SizeChanged event of the button change its location depending on the new size:
Size prevSize;

public Form1()
{
    InitializeComponent();
    radDropDownButton1.AutoSize = true;

    this.Shown += Form1_Shown;
}

void Form1_Shown(object sender, EventArgs e)
{
    prevSize = radDropDownButton1.Size;

    radDropDownButton1.SizeChanged += radDropDownButton1_SizeChanged;
}

void radDropDownButton1_SizeChanged(object sender, EventArgs e)
{
    RadDropDownButton button = sender as RadDropDownButton;
    button.Location = new Point(button.Location.X - (radDropDownButton1.Size.Width - prevSize.Width), button.Location.Y);
    prevSize = button.Size;
    
}

private void radButton2_Click(object sender, EventArgs e)
{
    radDropDownButton1.Text = "Very long button text set";
}