Is there any easy way to convert RadDataFilter.Expression to FilterDescriptorCollection, so ill be able add it do CompositeFilterDescriptor of the RadGridView.FilterDescriptors.
RadGridView.FilterDescriptors.Add(new CompositeFilterDescriptor() { FilterDescriptors = RadDataFilter.Expression? });

Hello,
So I've come across this weird (possible) bug whereupon if you bing a datatable as datasource in a multicolumn combobox and then try to change the SelectedIndex before the combobox has been drawn to the UI, you get an Index out of range exception even though the index is perfectly fine.
If you wait for it to be drawn, then it works fine.
I've created a reproducible example where I have a form with a PageView control; there's an "Employee" class whose "NewPage(AvoidBug As Boolean)" function returns a PageViewPage which has a MultiColumn cb inside with a datatable as its DataSource.
The 1st button on the main form will add the PageViewPage control that the NewPage(False) function returned to the PageView and the mccb.SelectedIndex will be changed inside the NewPage() function (so before it's drawn to the UI)
The 2nd button will do the same, only calling the NewPage(True) will result in a Public Variable inside the Class being set to the Index we want the mccb.SelectedIndex to be changed to, but the mccb.SelectedIndex will NOT change. After the control is added on the main form, the mccb.SelectedIndex now changes, and no exception is produced.
*So does that mean the the DataSource indexing on a mbcb occurs only after the control is drawn/visible to the user?
*Another thing I noticed, even when the second button is pushed, the bug avoidance only works once. If you push it again (to add a second PageViewPage) then exception occurs again
*However, if you delete the first PageViewPage before pushing the second button a second time, essentially adding a first PageViewPage again, then the exception doesn't occur
Things will become much clearer by using the reproducible code: https://www.dropbox.com/s/4ccjr37n60mavt4/TelerikWinFormsApp1%20%282%29.rar?dl=1
Best regards,
Ioannis Mamalikidis

Hi.
I have a problem.
How can print a picture from a picturebox?
How can put correct object in Associateobjet to print it?


hi
is possible set scroll bar for one cell?
Hi!
I have a tri-state RadCheckBox and tried to change its intermediate state background color with the "SetThemeValueOverride", but nothing happens.
The code is the following:
checkBox.ButtonElement.CheckMarkPrimitive.CheckElement.GradientStyle = GradientStyles.Solid;
checkBox.ButtonElement.CheckMarkPrimitive.SetThemeValueOverride(FillPrimitive.BackColorProperty, Color.Black, "ToggleState=Intermediate", typeof(FillPrimitive));
What do I wrong?
Thank you,
Sandor
Hello there.
This code returns negative MaxSize on 100% dpi, since it overflows int.
var dpiScaleFactor = radLabel1.RootElement.DpiScaleFactor;var r1 = new Size(150, int.MaxValue);var r2 = TelerikDpiHelper.ScaleSize(r1, new SizeF(1f / dpiScaleFactor.Width, 1f / dpiScaleFactor.Height));I use that code to descale some sizes on runtime per suggestion on the forum, also I have seen similar code in Telerik sources. When control receives negative max size it becomes invisible. You may want to investigate this cases.
I use Telerik 2018.3.1016.20 with .Net 3.5 on Server 2008 R2 SP1.
Best regards.

Hello,
I am trying to streamline a process using radGridView that allows users to tab through only the necessary controls on a form. When they hit the radGridView control, they're currently tabbing through all existing cells. This is desired - but when they leave the last cell of an existing cell, we want to disable the ability to add a new row. We don't want to them to have to add a new row unless they click on "Click here to add new row".
I've attached a screenshot of the behavior that I do not want. The yellow cells is from my conditional formatting. I'm not entirely sure what this row is because it doesn't have the default values that I've set when you click on "Click here to add new row".
How can I disable this behavior?
Thank you!

Hello All,
I have customized InsertHyperlinkDialog to insert hyperlink onto my RadRichTextEditor. My custom dialog insert the hyperlink and also create list of all links saved into a database table.
Now I wonder, can I detect and event when a link is deleted from my document to make me clear out this link from my list ? As long as I get the event, I have put a tag to make sure I can identify which link must be deleted from my list correctly.
Thanks

I can't seem to make filtering and sorting work with my RadVirtualGrid. The control itself does the job mostly fine - lightning fast loading of 2000+ rows of data.
I've reduced it to a simple example: a single form with a single RadVirtualGrid, which uses all the code form the online example,
Only different between my simple example and the documented one is that I don't get the objects from a DB - just make them.
The grid populates fine - it's just the filter/sort which does nothing.
I can get the more advanced filter/sort option events to fire OK, but I only need the simple stuff - single column sorts and single column filtering
There's obviously something really simple I've missed -any suggestions ?
Code is:
Imports Telerik.WinControls.UI
Public Class RadForm1
Private columnNames As String() = New String() {"CompanyName", "ContactName", "ContactTitle", "Address", "PostalCode"}
' Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
"..\..\DataSources\Nwind.mdb;Persist Security Info=True" - NOT USED
Private data As New List(Of Customer)()
Private Sub VirtualGridPopulatingWithData_Load(sender As Object, e As EventArgs) Handles Me.Load
AddHandler Me.RadVirtualGrid1.CellValueNeeded, AddressOf radVirtualGrid1_CellValueNeeded
Me.RadVirtualGrid1.ColumnCount = columnNames.Length
SelectData()
End Sub
Private Sub radVirtualGrid1_CellValueNeeded(sender As Object, e As VirtualGridCellValueNeededEventArgs)
If e.ColumnIndex < 0 Then
Return
End If
If e.RowIndex = RadVirtualGrid.HeaderRowIndex Then
e.Value = columnNames(e.ColumnIndex)
End If
If e.RowIndex < 0 Then
e.FieldName = columnNames(e.ColumnIndex)
End If
If e.RowIndex >= 0 AndAlso e.RowIndex < data.Count Then
e.Value = data(e.RowIndex)(e.ColumnIndex)
End If
End Sub
Private Sub SelectData()
data = Customer.makeData
Me.RadVirtualGrid1.RowCount = data.Count
End Sub
End Class
Public Class Customer
Public Shared Function makeData() As List(Of Customer)
Dim someCustomers As New List(Of Customer)
someCustomers.Add(New Customer("1", "Company1", "Fred", "Mr", "addr1", "np7"))
someCustomers.Add(New Customer("2", "Company2", "Bill", "Mr", "addr2", "np8"))
someCustomers.Add(New Customer("3", "Company3", "Andi", "Mrs", "addr0", "np3"))
Return someCustomers
End Function
Public Sub New(customerId As String, companyName As String, contactName As String,
contactTitle As String, address As String, postalCode As String)
Me.CustomerId = customerId
Me.CompanyName = companyName
Me.ContactName = contactName
Me.ContactTitle = contactTitle
Me.Address = address
Me.PostalCode = postalCode
End Sub
Public Property CustomerId() As String
Get
Return m_CustomerId
End Get
Set(value As String)
m_CustomerId = value
End Set
End Property
Private m_CustomerId As String
Public Property CompanyName() As String
Get
Return m_CompanyName
End Get
Set(value As String)
m_CompanyName = value
End Set
End Property
Private m_CompanyName As String
Public Property ContactName() As String
Get
Return m_ContactName
End Get
Set(value As String)
m_ContactName = value
End Set
End Property
Private m_ContactName As String
Public Property ContactTitle() As String
Get
Return m_ContactTitle
End Get
Set(value As String)
m_ContactTitle = value
End Set
End Property
Private m_ContactTitle As String
Public Property Address() As String
Get
Return m_Address
End Get
Set(value As String)
m_Address = value
End Set
End Property
Private m_Address As String
Public Property PostalCode() As String
Get
Return m_PostalCode
End Get
Set(value As String)
m_PostalCode = value
End Set
End Property
Private m_PostalCode As String
Default Public ReadOnly Property Item(i As Integer) As String
Get
Select Case i
Case 0
Return CompanyName
Case 1
Return ContactName
Case 2
Return ContactTitle
Case 3
Return Address
Case 4
Return PostalCode
Case Else
Return [String].Empty
End Select
End Get
End Property
End Class