
ThemeResolutionService.ApplicationThemeName = "Office2019Dark";
this.radDropDownList1.EnableAlternatingItemColor = true;
To replicate the missing button when the application is run on my main monitor with 150% DPI scaling:
If the RadControl.EnableRadAutoScale property is set to false in the Program.cs file, the button is placed as expected:
When I replace the form to inherit from RadForm, not the MS Form, the button is clipped:
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?
1. Select the ColorBox's ellipses to open the Color Dialog
2. Select the Web tab
3. Select Any colour in this Page
4. Select Transparent
Colour will update
5. Select the Professional tab
6. Select any colour
Colour won't update
7. Select any colour
Colour won't update
8. Select OK on Dialog
Colour will be transparent
Values will be same as selected in step 7
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:The Cut operations of the RadVirtualGrid does not work.
When the SelectionMode is set to FullRowSelect, MultiSelect = true, and multiple rows are selected, the loop goes something like this:
// Pseudo code:
for(int rowIndex = firstRow; rowIndex <= lastRow; rowIndex++)
{
AddRowToClipboardData(rowIndex)
UserDeletedRow(rowIndex);
}
My suggestion:
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.
To be accessible and compliant with our organizations standards, the search bar that can be enabled in the gridview should be accessible by pressing TAB and shift TAB. Right now the only way to select the search by keyboard is pressing Control F, but the up/down arrows and the search settings cog wheel cannot be accessed via the keyboard.
As of right now, the user cannot also select the column headers using the keyboard, which in turn means you cannot sort by a column with a keyboard.
Add a RadTextBox on the form and open its smart tag:
Open the editor for the font and select the entire text:
Then, press Del:
When you try to close the editor, an error occurs:
However, the Font is already serialized as null:
As a result, the designer can't be opened any more:
Hi Team,
The Travel Assistant demos are broken... it just hangs. This is also true for the Xamarin Demos, WPF demos and WinForms demos.
Here are some screenshots:
UI for Winforms demos
Telerik UI for Xamarin demos
Pasting a Network path in the breadcrumb navigates the user to the respective location. However, the UNC path is displayed as expected. Please refer to the attached gif files.
Using Telerik button and dropdown beside and anchored to a standard label or textbox then, when run app in a Win 11 in Korean, the presentation is not correct.
Expected result:
Observed result:
In the image below you can notice lines that disappear, identical lines but rendered more or less thick.
Hi,
Please, add a property or method to the RadWebCam control to set video bit rate or quality. Currently is fixed a 4 mbits and it results in very poor image quality at high resolutions.
Please find attached images to see the difference between snapshot and video recording. With fast moving pictures is even worse.
Thanks.