Declined
Last Updated: 22 Apr 2024 14:19 by ADMIN

 

I'm a Progress OpenEdge developer and found issue with RadGridView using it in a ABL application. I have been able to reproduce the issue outside of the OpenEdge environment, and have attached a project file.

 

To see the issue, run the app, and scroll down really quickly with scrollbar thumb to the bottom.

You will then get:

System.NullReferenceException
  HResult=0x80004003
  Message=Object reference not set to an instance of an object.
  Source=Telerik.WinControls.GridView
  StackTrace:
   at Telerik.WinControls.UI.ExpressionAccessor.EvaluateExpression(GridViewRowInfo row, GridViewColumn column)

                       

Call Stack when I'm in my project:

> WindowsFormsApp1_NetFramework.exe!Progress.Data.DataSource.FillCacheFromPVMSource(Progress.Data.CacheRow cacheRow, int rowIx) Line 579 C#
WindowsFormsApp1_NetFramework.exe!Progress.Data.DataSource.GetRowError(int rowIx) Line 651 C#
WindowsFormsApp1_NetFramework.exe!Progress.Data.DummyRow.Error.get() Line 1347 C#
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridViewRowInfo.ErrorText.get() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridDataRowElement.UpdateInfo() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridRowElement.Initialize(Telerik.WinControls.UI.GridViewRowInfo rowInfo) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridRowElement.Attach(Telerik.WinControls.UI.GridViewRowInfo row, object context) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.UpdateElement(int position, Telerik.WinControls.UI.GridViewRowInfo data) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.UpdateElement(int position, Telerik.WinControls.UI.GridViewRowInfo data) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElements() Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayout() Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayoutCallback(Telerik.WinControls.Layouts.ILayoutManager manager) Unknown
[Native to Managed Transition]
[Managed to Native Transition]
mscorlib.dll!System.Delegate.DynamicInvokeImpl(object[] args) Line 123 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackDo(System.Windows.Forms.Control.ThreadMethodEntry tme) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(object obj) Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 980 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 928 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Line 917 C#

 

                                                   

Once I relinguish control back to Telerik, I get:

System.NullReferenceException
  HResult=0x80004003
  Message=Object reference not set to an instance of an object.
  Source=Telerik.WinControls.GridView
  StackTrace:
   at Telerik.WinControls.UI.ExpressionAccessor.EvaluateExpression(GridViewRowInfo row, GridViewColumn column)


Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ExpressionAccessor.EvaluateExpression(Telerik.WinControls.UI.GridViewRowInfo row, Telerik.WinControls.UI.GridViewColumn column) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ExpressionAccessor.this[Telerik.WinControls.UI.GridViewRowInfo].get(Telerik.WinControls.UI.GridViewRowInfo row) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridViewRowInfo.this[Telerik.WinControls.UI.GridViewColumn].get(Telerik.WinControls.UI.GridViewColumn column) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridDataCellElement.Value.get() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridCellElement.SetContent() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridVirtualizedCellElement.Initialize(Telerik.WinControls.UI.GridViewColumn column, Telerik.WinControls.UI.GridRowElement row) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridVirtualizedCellElement.Attach(Telerik.WinControls.UI.GridViewColumn data, object context) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.InsertElement(int position, Telerik.WinControls.UI.IVirtualizedElement<Telerik.WinControls.UI.GridViewColumn> element, Telerik.WinControls.UI.GridViewColumn data) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.UpdateElement(int position, Telerik.WinControls.UI.GridViewColumn data) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.MeasureElements() Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridVirtualizedRowElement.MeasureElements(System.Drawing.SizeF availableSize, System.Drawing.SizeF clientSize, System.Windows.Forms.Padding borderThickness) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.LightVisualElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridRowElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.VirtualizedStackContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElementCore(Telerik.WinControls.RadElement element, System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.MeasureElementCore(Telerik.WinControls.RadElement element, System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.VirtualizedStackContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElement(Telerik.WinControls.UI.IVirtualizedElement<Telerik.WinControls.UI.GridViewRowInfo> element) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElements() Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayout() Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayoutCallback(Telerik.WinControls.Layouts.ILayoutManager manager) Unknown
[Native to Managed Transition]
[Managed to Native Transition]
mscorlib.dll!System.Delegate.DynamicInvokeImpl(object[] args) Line 123 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackDo(System.Windows.Forms.Control.ThreadMethodEntry tme) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(object obj) Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 980 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 928 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Line 917 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallback(System.Windows.Forms.Control.ThreadMethodEntry tme) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbacks() Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.ScrollableControl.WndProc(ref System.Windows.Forms.Message m) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadControl.WndProc(ref System.Windows.Forms.Message m) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.RadGridView.WndProc(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg, System.IntPtr wparam, System.IntPtr lparam) Unknown
[Native to Managed Transition]
[Managed to Native Transition]
System.Windows.Forms.dll!System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(System.IntPtr dwComponentID, int reason, int pvLoopData) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason, System.Windows.Forms.ApplicationContext context) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm) Unknown
> WindowsFormsApp1_NetFramework.exe!WindowsFormsApp1_NetFramework.Program.Main() Line 19 C#

 

/////////////////////////////////////////////////////////////////////////////////////////////////

The following notes will explain what we are doing, since it may not be typical.

 

The MaxDataGuess functionality offers a time-saving alternative for the OpenEdge BindingSource that binds to a query with 
a very large result set. 
Some .NET controls must know the number of records in the result set when they initialize. 
By default, the ProBindingSource counts the records by reading the records in the query's result set, which can be time-consuming for large 
result sets. Setting this property provides the .NET control with an estimated value to bypass the counting process.
Sometimes, the result list can contain tens of thousands records, so this functionality would be used for that use case.


The project that demonstrates the issue found with the Telerik GridView is a much simpler version of the actual OpenEdge implementation.
The Progress.Data.DataSource._actualNumberOfRecords property is just a hard coded value that takes the place of the ABL query result set list,
since this project does not include the OpenEdge specific code.

The internal implementation of the MaxDataGuess in this project is as follows:

The DataSource.Count property is originally set to 50.
See Form1.cs:  pbs = new Progress.Data.BindingSource(myDataTable, maxDataGuess);


Once user scrolls through rows close to the Count property,  the routine CheckForOffEnd() is called 
(triggered by IDataErrorInfo.Error property).
If it determines that we are close to "current" end of rows, it adds 100 more rows calling
OnListChanged(new ListChangedEventArgs(ListChangedType.ItemAdded, ix));
to notify the grid control that we've update the Count property.

The routine FillCacheFromPVMSource() is called to fill in the CacheRow param for the specified rowIx.
The exception comes into play when the rowIx is greater than the current Count property.
If this is the case, then FillCacheFromPVMSource() updates the Count property, and also calls
OnListChanged(new ListChangedEventArgs(ListChangedType.ItemDeleted, ix));
when adjusting the Count property to notify the Telerik grid.

The exception occurs when control passes back to the Telerik code. 
The rowIx is no longer valid, and the Telerik grid does not check for this.


We get the following System.NullReferenceException:

'Object reference not set to an instance of an object.'

 

Declined
Last Updated: 17 Apr 2024 08:22 by ADMIN
The issue is reproducible only on Windows XP. On newer versions of windows, the images are rendered as expected.

WORKAROUND: You may try implementing custom filter that handles the CMYK scenario. How to implement custom DCTDecode filter is described in this documentation article:
https://docs.telerik.com/devtools/winforms/pdfviewer/customize-and-extensibility/customize-pdf-rendering
Declined
Last Updated: 03 Apr 2024 15:24 by Sagar
Created by: Sagar
Comments: 4
Category: UI for WinForms
Type: Bug Report
0
# Vulnerability Report: Account Takeover via Email Change Functionality

## Summary:
During security testing of the email change functionality on the Telerik website, it was discovered that the application can be vulnerable to an account takeover attack. The vulnerability allows an attacker to change the email address associated with an account to their own email address, effectively taking over the victim's account.

## Vulnerability Details:
- **Functionality Description:**
  - The Telerik website provides a functionality for users to request a change in their email address.
  - This functionality consists of two sections: current email and new email.
  - The current email is not accessible from the user interface, while the new email can be inputted by the user.
  - After inputting the new email and clicking the "Change Email" button, the user's request is processed.

- **Attack Scenario:**
  1. **Attacker Inputs Their Email:** The attacker inputs their own email address in the new email section.
  2. **Intercepting the Request:** Using interception tools, the attacker intercepts the request before it is sent to the server.
  3. **Modifying the Request:** The attacker modifies the request to replace their own email address with the victim's email address in the current email section.
  4. **Consent Form Manipulation:** Additionally, the attacker can manipulate the consent form associated with the email change request to gain access to the victim's account without their consent.
  5. **Changing the Email Address:** The modified request is forwarded to the server, resulting in the victim's email address being changed to the attacker's email address.



## Impact:
- **Account Takeover:** The vulnerability allows an attacker to take over the victim's account by changing the email address associated with it.
- **Data Access:** Once the attacker gains access to the victim's account, they may have unauthorized access to sensitive data and functionalities associated with the account.

## Mitigation Recommendations:
- **Input Validation:** Implement strict input validation to ensure that only legitimate email addresses are accepted in the new email section.
- **Consent Verification:** Require additional verification steps, such as email confirmation or user authentication, before processing email change requests.
- **Session Management:** Implement session management mechanisms to detect and prevent unauthorized access to account settings and functionalities.
- **Security Awareness:** Educate users about the risks of phishing attacks and social engineering tactics used by attackers to gain unauthorized access to accounts.

## Affected URL:
- Email Change Functionality: [https://www.telerik.com/account/support-center/email-change](https://www.telerik.com/account/support-center/email-change)

## Conclusion:
The discovered vulnerability poses a significant security risk to Telerik website users by allowing attackers to take over accounts through manipulation of the email change functionality. It is imperative for the development team to address this vulnerability promptly by implementing appropriate security controls and mitigations to safeguard user accounts from unauthorized access.

**Best Regards,**
Sagar Dhoot
Declined
Last Updated: 01 Mar 2024 13:13 by ADMIN

PerformClick method of RadButtonElement is sending next error:

System.InvalidCastException: 'Unable to cast object of type 'System.EventArgs' to type 'System.Windows.Forms.MouseEventArgs'.

Find my code below:

private void btnAddField_Click(object sender, EventArgs e)
{
    RadDiagramShape sourceShape = new RadDiagramShape()
    {
        Text = "source",
        Shape = new RoundRectShape(5),
        BackColor = Color.Red
    };

    sourceShape.Position = new Telerik.Windows.Diagrams.Core.Point(150, 100);
    radDiagram.AddShape(sourceShape);

    sourceShape.IsSelected = true;
    RadButtonElement additionalContent = Telerik.WinControls.UI.Diagrams.Primitives.ItemInformationAdorner.GetAdditionalContent(
                                            this.radDiagram.DiagramElement.ItemInformationAdorner) as RadButtonElement;

    additionalContent.PerformClick();
}

What I want is to display the SettingsPane automatically when adding a RadDiagramShape item in a RadDiagram

Regards

Declined
Last Updated: 20 Feb 2024 12:26 by ADMIN

Hi- When I add a Rad context menu to a RadToolbarForm, the toolbar vanishes from the designer after a build.  This is new behavior because I have other context menus that I had previously added to the form.  If I drag a RadContextMenu from the toolkit, or I copy/paste an existing context menu, the toolbar disappears after a build.  I am running the latest release (2024.1.130) and toolkit config (although this also happens when running the previous Telerik release)

I tried closing the designer before the build and the toolbar still disappears.  Doing a Clean before build has no effect.  This form is inherited from a simple RadToolbar form (no controls except the toolbar).  The toolbar is still listed in the list of controls for the form

Ha!  Just found out what's happening.  It's deleting the toolbar configuration code from the designer code.  Everything below is gone.  If I add it back in, then do anything with the new context menu, like rename it, it gets removed again

            // 
            // RadToolbarFormControl1
            // 
            RadToolbarFormControl1.AutoSize = false;
            RadToolbarFormControl1.CenterItems.AddRange(new Telerik.WinControls.RadItem[] { RadLabelElement1, RadButtonElement_Task_New, RadButtonElement_Task_Edit, RadButtonElement_Task_Delete, RadCheckBoxElement_ShowCompleted });
            RadToolbarFormControl1.CenterItemsVerticalAlignment = Telerik.WinControls.UI.RadVerticalAlignment.Bottom;
            RadToolbarFormControl1.FarItems.AddRange(new Telerik.WinControls.RadItem[] { RadLabelElement_WorkHours, RadLabelElement_Work_StartDate, RadLabelElement_Work_EndDate, RadButtonElement_SelectDates, RadButtonElement_Invoices, RadButtonElement_Summary });
            RadToolbarFormControl1.NearItems.AddRange(new Telerik.WinControls.RadItem[] { RadLabelElement2, RadLabelElement_Projects, RadButtonElement_New, RadButtonElement_Edit, RadButtonElement_Delete, RadButtonElement_Refresh });
            RadToolbarFormControl1.ShowText = false;
            RadToolbarFormControl1.Size = new Size(1804, 52);

 

Here's my dev environment:

Microsoft Visual Studio Community 2022
Version 17.8.7
VisualStudio.17.Release/17.8.7+34601.278
Microsoft .NET Framework
Version 4.8.09037

Installed Version: Community

ActiveReports 16   16.3.1.0
The first report writer for Microsoft .NET

ASP.NET and Web Tools   17.8.358.6298
ASP.NET and Web Tools

Azure App Service Tools v3.0.0   17.8.358.6298
Azure App Service Tools v3.0.0

C# Tools   4.8.0-7.23572.1+7b75981cf3bd520b86ec4ed00ec156c8bc48e4eb
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Code Converter   1.0
Code Converter Extension Details

Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

NuGet Package Manager   6.8.1
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

Progress Telerik UI for WinForms Extension   2023.3.1110.93
ProgressĀ® TelerikĀ® UI for WinForms Extension

TypeScript Tools   17.0.20920.2001
TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools   4.8.0-7.23572.1+7b75981cf3bd520b86ec4ed00ec156c8bc48e4eb
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools   17.8.0-beta.23475.2+10f956e631a1efc0f7f5e49c626c494cd32b1f50
Microsoft Visual F# Tools

Visual Studio IntelliCode   2.2
AI-assisted development for Visual Studio.

 

Declined
Last Updated: 16 Feb 2024 22:25 by ADMIN

I can't provide a project or even code snippets that would make sense out of context because the code base is too complex for an easy replication to be setup.

We are trying various things like calling Refresh, Update.

 

Hoping this is something you've encountered before and have some suggestions.

Declined
Last Updated: 16 Feb 2024 22:24 by ADMIN

C#. net core 6, winforms application, TekerikNuGet3 package source, UI.for.WinForms.AllControls.NetCore package 2022.2.622

I am trying to export selected cells from a RadGridView as a csv file.

When using "var exporter = new ExportToCSV(Dgv)" then "exporter.RunExport(fileName);" writes the csv file correctly. It exports every cell.

It doesn't support exporting selections so I wrote a function to do this . The one below is what I used in my project to test what I was doing. It initially writes the csv to a worksheet and wrote that using formatprovider to file, then I just created a stringbuilder adding quotes and appended that to the file afterwards.

Writing the worksheet, the csv values haven't been quoted, plus number fields have had leading zeros removed which proves to be a problem when telephone numbers are stored in a field.

So I googled and found the Settings property which is there to set csv options. But they are private, not public therefore I can't set up the csv propertly.

private void radButton1_Click(object sender, EventArgs e)
  {

    var workbook = new Workbook();
    var worksheet = workbook.Worksheets.Add();

    var rowIndex = 0;
    var columnIndex = -1;
    var sb = new StringBuilder();
    var prevColumnIndex = -1;

    // ForEach cell are accessed vertically then horizontally.
    foreach (var cell in Dgv.SelectedCells)
    {
      // Cell is included in selection even if it's invisible
      // so check visibility and ignore if it isnt
      if (!cell.ColumnInfo.IsVisible) continue;

      // At bottom of column, rownum will change. Watch for this
      // and reset x and y values
      var rowNum = cell.RowInfo.Index;
      if (rowNum != prevColumnIndex)
      {
        prevColumnIndex = rowNum;
        rowIndex = 0;
        columnIndex++;
        sb.AppendLine("");
      }
      else if (!string.IsNullOrEmpty(sb.ToString()))
        sb.Append(",");

      var value = cell.Value;
      worksheet.Cells[columnIndex, rowIndex++ ].SetValue(value.ToString());
      sb.Append($"\"{value.ToString()}\"");
    }

    var fileName = @"C:\temp\SampleFile.csv";

    IWorkbookFormatProvider formatProvider = new CsvFormatProvider();
    using var output = new FileStream(fileName, FileMode.Create);
    formatProvider.Export(workbook, output);
    output.Close();

    // Write contents of sb to the file for comparison sake
    File.AppendAllText(fileName, sb.ToString());

  }

Declined
Last Updated: 16 Feb 2024 22:22 by ADMIN

I just upgraded to the latest version of Telerik products and facing the issues described below.

When dragging and drop Telerik UI objects from the toolbar on a form, the dialog box below is displayed with question but there is no button to click to answer the question and I don't where to stop it.

See screenshot attached.

Declined
Last Updated: 16 Feb 2024 22:20 by ADMIN
Created by: Ian
Comments: 2
Category: ChartView
Type: Feature Request
0
Some other charting frameworks support ā€˜dynamicā€™ graphs/diagrams, where the graph shows nodes and links, and the user can drag the nodes around the page, and the other nodes are pulled around it. This is a great way to visualise and explore this kind of node+link data. Its also a great way to sell and app, as it looks cool.
Declined
Last Updated: 16 Feb 2024 22:19 by ADMIN
Created by: Haithem
Comments: 2
Category: PdfViewer
Type: Bug Report
0

Hello 

 

I am have a problem with pdf wiewer when the PDF file contains an images , it is slow in movement and it is difficult to navigate between pages. Is it possible to fix this problem 

 

 

Declined
Last Updated: 16 Feb 2024 22:18 by ADMIN

Hi All,

Note:- I am using Bound RadTreeview. Bound with DataSource.

1 Take RadTreeview

2 Add Few nodes Like:

    ......Node A

    ......Node B

    ......Node C

    ............Node D

    ............Node E

3 Now Drag Node B and Drop it in Node C (As Node C's Child)

4 It throw Exception Error Msg  "Collection was modified; enumeration operation may not execute."

5  Now Try to Drag Node E and Drop it in Node B, again same error occurs

6 Full error screen i attached here.

Please reply as soon as possible.

 

Declined
Last Updated: 16 Feb 2024 20:34 by ADMIN

Hello Guys,

 

Good Evening , As per your suggestions i make my custom treeview node with LiteVisualElements .

In That Node i have taken one StackLayoutElement and RoundRectShape assigned to it but still panel shows corners instead of round edges,

i tried with different properties and styles but not get succeed , so please help me out.

here i have attached image of my node and "stackLayoutElement" code too.

spnlControls = new StackLayoutElement();
            spnlControls.Orientation = Orientation.Horizontal;
            spnlControls.NotifyParentOnMouseInput = true;
            spnlControls.DrawFill = true;
            spnlControls.DrawBorder = true;
            spnlControls.Shape = new RoundRectShape(4);
            spnlControls.BackColor = Color.Transparent;
            spnlControls.BackColor2 = Color.Transparent;
            spnlControls.BackColor3 = Color.Transparent;
            spnlControls.BackColor4 = Color.Transparent;
            spnlControls.BorderGradientStyle = GradientStyles.Solid;
Declined
Last Updated: 16 Feb 2024 20:33 by ADMIN
Created by: James
Comments: 2
Category: UI for WinForms
Type: Bug Report
0

Zooming in will throw an Exception that crashes the program.

The ZoomLevel needed to cause the exception is dependent on the area of the RadMap selected.

Provider: BingRestMapProvider

ImagerySet AerialWithLabelsOnDemand

 

 

Zooming in over Antarctica, Exception thrown zooming in at MapElement.ZoomLevel 14.

 

Zooming in over Australia, Exception thrown zooming in at MapElement.ZoomLevel 21.

 

Declined
Last Updated: 16 Feb 2024 20:32 by ADMIN
Created by: Kaan
Comments: 2
Category: UI for WinForms
Type: Feature Request
0

Hi,

I want to hide some columns of the table I received from Excel on RadGridView.

Declined
Last Updated: 16 Feb 2024 20:31 by ADMIN
Created by: Larry
Comments: 2
Category: RichTextEditor
Type: Bug Report
1
There appears to be an issue when adding Comments that overlap each other. I will attach a video to my next reply that shows how to replicate the issue.
Declined
Last Updated: 16 Feb 2024 20:30 by ADMIN
Fatching data from sql database in gridViewCommboBoxColumn select the value then retrieve data other column in the same Rows windows application in Vb.net
Declined
Last Updated: 16 Feb 2024 20:28 by ADMIN
The filter UI controls in ASP.NET Core and MVC are really nice, see filter. Can you include the same controls and UI be included in Winforms and WPF?
Declined
Last Updated: 16 Feb 2024 20:26 by ADMIN
Created by: Mario
Comments: 4
Category: UI for WinForms
Type: Feature Request
0

Hi everybody

 

I m try use the class CustomDragandDrop on radtreeview but i have a issue, 

if i use the next example, i dont have any problem:

      

   protected void BindRadTreeView()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("Id", typeof(string));
            dt.Columns.Add("Title", typeof(string));
            dt.Columns.Add("ParentId", typeof(string));

            string parentId = string.Empty;
            string childId = string.Empty;
            for (int i = 0; i < 2; i++)
            {
                parentId = Guid.NewGuid().ToString();
                dt.Rows.Add(parentId, "Node" + i, null);
                for (int j = 0; j < 5; j++)
                {
                    childId = Guid.NewGuid().ToString();
                    dt.Rows.Add(childId, "SubNode" + i + "." + j, parentId);
                }
            }

            this.radTreeView1.ChildMember = "Id";
            this.radTreeView1.ParentMember = "ParentId";
            this.radTreeView1.DisplayMember = "Title";
            this.radTreeView1.DataSource = dt;


        }

 

i can drag and drop correctly

 

but the problem is when i binding the Radtreeview

 

                       

    protected void llenatreeview1() {

            dtTablas = dat.consultaBD();

            DataTable dt = new DataTable();
            dtCopi.Columns.Add("Id", typeof(string));
            dtCopi.Columns.Add("Title", typeof(string));
            dtCopi.Columns.Add("ParentId", typeof(string));

            string parentId = string.Empty;
            string Id = string.Empty;
            string title = string.Empty;
            foreach (DataRow row in dtTablas.Rows)
            {
                parentId = row["ParentId"].ToString();     

                Id = row["Id"].ToString();
                title = row["Title"].ToString();

                if (parentId == "")
                    dt.Rows.Add(Id, title, null);
                else
                    dt.Rows.Add(Id, title, parentId);
            }

            radTreeView2.ChildMember = "Id";
            radTreeView2.ParentMember = "ParentId";
            radTreeView2.DisplayMember = "Title";
            radTreeView2.DataSource = dt;
        }

first is freeze and then appears the error.

when i drag and drop appears then next error:

System.StackOverflowException

 

what am I doing wrong please your help. thanks
Declined
Last Updated: 16 Feb 2024 20:24 by ADMIN
Created by: Ian
Comments: 2
Category: UI for WinForms
Type: Feature Request
0

GridView has a default text alignment for new columns as 'MiddleCenter'.

Default alignment for new GridViewDataRowInfo is 'left'.

Please can these be the same ?

Declined
Last Updated: 16 Feb 2024 19:59 by ADMIN
Created by: Robyn
Comments: 2
Category: UI for WinForms
Type: Bug Report
0

Hi there,

 

We have recently found a bug on both the RadDocument and Rad Rich Text Editor. Created a RTF document via the RadRichText Editor. The RTF document contains a table. When the document is saved and loaded from the same form, it is displaying correctly, however when loaded from a different form, it seems to have shrunk and lost the column width, thus having long and skinny columns.

We have set the fixed column width on the table, however this did not seem to solve the issue.

I have attached two screenshots for reference. One with the correct looking table, and one with the long and skinny columns.

Is there a workaround, or is this a known bug?

 

Correct table:

 

 

Long and skinny columns:

 

Currently on Telerik Winforms version 2018.3.1016.40

 

Kind regards,

Paul

 

1 2 3 4 5 6