Telerik Forums
UI for WinForms Forum
1 answer
12 views

Hi, I have a requirement to have multiple icons in a cell, I have created a custom GridViewDataColumn and a GridDataCellElement

My current implementation has 2 issues, the icons don't appear until you enter or leave a row (in which case only those rows icons get displayed), or when you click on the column (in which case all the visible rows display their icons.

The second issue is that, since I can scroll horizontally, when scrolling right, the cell locations that end up under the location of my icons cells, when you scroll left again, they appear empty, and you need to reload the Datasource or scroll multiple times vertically for them to appear again.

What I'm doing right now is overriding the ArrangeOverride, to locate the icons on the cell with Children[i].Arrange, and creating the icons overriding SetContent and OnCellFormatting and creating LightVisualElements there, calling Children.Clear() at the beginning of the methods.

I'll try to post an example later but has anyone had an issue like this before?

Nadya | Tech Support Engineer
Telerik team
 answered on 10 Mar 2026
1 answer
46 views
Hi everyone,
Requirement: Implement hierarchical (master-detail) add, delete, and edit functionality in RadGridView, with data flow: GridView ↔ DataTable ↔ SQLite Database.
Data Structure: 
Master Table:  MasterDataTable  (e.g., Orders) 
Detail Table:  DetailDataTable  (e.g., Order Items) 
Relationship: One-to-many via foreign key
Tech Stack: 
UI Control: Telerik  RadGridView  (WinForms) 
Data Layer:  DataTable  +  DataRelation  
Database: SQLite
Core Requirements: Looking for a simple, complete example demonstrating:
1. Binding hierarchical data to  RadGridView  (master rows expandable to show details)
2. Two-way synchronization between UI edits and  DataTable  (inserts, updates, deletes)
3. Batch commit changes from  DataTable  back to SQLite database
Any guidance or code samples would be greatly appreciated!
    Thanks in advance!
Nadya | Tech Support Engineer
Telerik team
 answered on 27 Feb 2026
1 answer
94 views

How to set RadRichTextEditor 's font and size at Design Time  ? 

Or

Using Customization's Theme ?

Dinko | Tech Support Engineer
Telerik team
 answered on 27 Feb 2026
1 answer
24 views

Hi, Telerik Team.

I’m using Telerik UI for WinForms 2015 Q1 with a custom theme, and I want the text color to remain black even when the control is disabled. Currently, when Enabled=False, the text automatically becomes gray.

My goal is for the text color to be black in both Enabled and Disabled states.

This already works for RadTextBox, using the HostedTextBoxBase approach from the forum.

However, for the following controls, the text still becomes gray when disabled:

  • RadDropDownList

  • RadDateTimePicker

I already modified the Disabled state in Visual Style Builder and updated elements like RadDropDownTextBoxElement and TextBoxFill(Fill Primitive). I’ve attached my .tssp file.

Could you please review the .tssp and let me know if there is any incorrect setting, or if I’m modifying the wrong element to keep the disabled text color black?

Also, if there is a recommended way to achieve this without using Visual Style Builder (for example programmatically), I would appreciate your guidance.

Thank you.

Nadya | Tech Support Engineer
Telerik team
 answered on 25 Feb 2026
8 answers
1.3K+ views
Hello,

i am using the version 2009.1.9.414. and have great problems with the RadMultiColumnComboBox.
I have a ComboBox bound to a DataTable and now i want to select a Row in the ComboBox. In all other
ComboBoxes i know i would just set the SelectedValue of the ComboBox. My expectation is that the
correct row is selected and the Text of the ComboBox show the value of the DisplayMember of the Selected Row.

When i set the SelectedValue in the Telerik RadMultiColumnComboBox i get the follwoing result.
The Cell which will be found by the current Selected Row and the valuemember will be changed by the passed SelectValue.

This seems to be a bug and not a feature or a user error. Is there any workaround or is it possible to get a patch.
It is urgent because i am using telerik in a huge Project and am at the beginning time enough to change to Componentart or
Infragistics. I want to continue with Telerik so please help me.

Best regards
Stefan 
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
 answered on 19 Feb 2026
1 answer
24 views

i open "ControlDefault.tssp" using VSB

may i do something wrong

i can not seen others seeeting

how to reset to normal

 

Nadya | Tech Support Engineer
Telerik team
 answered on 17 Feb 2026
1 answer
48 views

I have what seems like a simple task.

My grid looks like this:

and I create it by pulling the data and passing it to the SetupGrid() method (partially) shown below which creates the columns and sets the DataSource.  This part works fine.

        private void SetupGrid(RadGridView grid,
                                List<Dictionary>? dictionaryList,
                                List<CreditInquirySetupEF>? efList,
                                List<CreditInquirySetupTU>? tuList)
        {
            grid.Columns.Clear();
            grid.Rows.Clear();
            grid.Templates.Clear();

            grid.MasterTemplate.AutoGenerateColumns = true;
            grid.MasterTemplate.ReadOnly = true;
            grid.MasterTemplate.ShowChildViewCaptions = false;
            grid.MasterTemplate.ShowRowHeaderColumn = false;

            grid.ShowRowHeaderColumn = false;
            grid.ShowChildViewCaptions = false;

            GridViewTemplate template1 = new GridViewTemplate();
            GridViewTemplate templateApp = new GridViewTemplate();

            if (efList is not null)
            {
                template1.AutoGenerateColumns = false;
                template1.DataSource = null;
                template1.DataSource = efList;
                template1.AllowAddNewRow = false;
                template1.ReadOnly = true;
                template1.ShowRowHeaderColumn = false;
                template1.Caption = string.Empty;

                grid.MasterTemplate.Templates.Add(template1);

                template1.MasterTemplate.ShowChildViewCaptions = false;

                GridViewRelation relation1 = new GridViewRelation(grid.MasterTemplate);
                relation1.ChildTemplate = template1;
                relation1.RelationName = "EQVendorID";
                relation1.ParentColumnNames.Add("DictionaryKey");
                relation1.ChildColumnNames.Add("VendorID");
                grid.Relations.Add(relation1);
            }

            if (tuList is not null)
            {
                templateApp.AutoGenerateColumns = false;
                templateApp.DataSource = null;
                templateApp.DataSource = tuList;
                templateApp.AllowAddNewRow = false;
                templateApp.ReadOnly = true;
                templateApp.ShowRowHeaderColumn = false;
                templateApp.ShowChildViewCaptions = false;
                grid.MasterTemplate.Templates.Add(templateApp);

                GridViewRelation relationApp = new GridViewRelation(grid.MasterTemplate);
                relationApp.ChildTemplate = templateApp;
                relationApp.RelationName = "TUVendorID";
                relationApp.ParentColumnNames.Add("DictionaryKey");
                relationApp.ChildColumnNames.Add("VendorID");
                grid.Relations.Add(relationApp);
            }

            grid.DataSource = null;
            grid.DataSource = dictionaryList;

            grid.MasterTemplate.Columns["BranchID"].IsVisible = false;
            grid.MasterTemplate.Columns["DictionaryID"].IsVisible = false;
            grid.MasterTemplate.Columns["DictionaryKey"].IsVisible = false;
            grid.MasterTemplate.Columns["DictionaryKeyString"].IsVisible = false;
            grid.MasterTemplate.Columns["DictionaryTypeID"].IsVisible = false;
            grid.MasterTemplate.Columns["Active"].IsVisible = false;

            grid.MasterTemplate.Columns["Description"].Width = 300;
            grid.MasterTemplate.Columns["Description"].HeaderText = "Bureau Name";
            grid.MasterTemplate.Columns["Description"].HeaderTextAlignment = ContentAlignment.MiddleLeft;

            var buttonCol = new GridViewImageColumn();

            buttonCol = new GridViewImageColumn();
            buttonCol.HeaderText = "";
            buttonCol.Name = "Propertys";
            buttonCol.HeaderImage = VisionUI.Properties.Resources.Plus_13;
            buttonCol.Width = 30;
            buttonCol.AllowSort = false;

            grid.MasterTemplate.Columns.Add(buttonCol);


            if (efList is not null)
            {
                grid.MasterTemplate.Templates[0].Caption = "";

                var column = new GridViewTextBoxColumn();

                column.FieldName = "VendorID";
                column.Name = "VendorID";
                column.IsVisible = false;
                grid.MasterTemplate.Templates[0].Columns.Add(column);


                column = new GridViewTextBoxColumn();

                column.FieldName = "SettingsBranchID";
                column.Name = "SettingsBranchID";
                column.IsVisible = false;
                grid.MasterTemplate.Templates[0].Columns.Add(column);


                column = new GridViewTextBoxColumn();

                column.FieldName = "ServiceName";
                column.Name = "ServiceName";
                column.Width = 145;
                column.HeaderText = "Service Name";
                column.HeaderTextAlignment = ContentAlignment.MiddleLeft;
                column.TextAlignment = ContentAlignment.MiddleLeft;
                column.IsVisible = true;
                grid.MasterTemplate.Templates[0].Columns.Add(column);

The problem comes when I delete a row in the subgrid and physically removing it from the db table. I tried removing the deleted entry from the collection and refreshing and even pulling the data from the database again like this:

               int settingsBranchID = absUIControls.GetGridValueInt(gvServiceNames, "SettingsBranchID");

               await creditInquirySetupEF.DeleteServiceNameAsync(settingsBranchID);
               await creditInquirySetupTU.DeleteServiceNameAsync(settingsBranchID);

               vendorList = CommonServices.GetDictionary(EDictionaryType.CreditInquiryVendor, creditInquirySetupEF.BranchID, false);

               creditInquirySetupEFList = await creditInquirySetupEF.GetCreditInquirySetupEFAsync(creditInquirySetupEF.BranchID);
               creditInquirySetupTUList = await creditInquirySetupTU.GetCreditInquirySetupTUAsync(creditInquirySetupTU.BranchID);

               gvServiceNames.DataSource = null;
               gvServiceNames.Templates[0].DataSource = null;
               gvServiceNames.Templates[1].DataSource = null;

               gvServiceNames.DataSource = vendorList;
               gvServiceNames.Templates[0].DataSource = creditInquirySetupEFList;
               gvServiceNames.Templates[1].DataSource = creditInquirySetupTUList;

               gvServiceNames.Refresh();
               gvServiceNames.Templates[0].Refresh();
               gvServiceNames.Templates[1].Refresh();


               foreach (var item in gvServiceNames.Rows)
               {
                   item.IsExpanded = true;
               }

               gvServiceNames.Templates[0].Rows[0].IsSelected = true;

When I reassign the datasources, for some reason the top grid formats like this:



Any ideas as to why?

Thanks

Carl

 


Nadya | Tech Support Engineer
Telerik team
 answered on 11 Feb 2026
1 answer
31 views

Hi Everyone.

I have tried to setup the Rad Pivot Grid Control. It works fine.. but one thing I can't get working is the sizing of the columns.   How do I get the columns to fit the text inside it. As you can see in the picture attached the 'Binder Fee' is width is crazy wide for the value inside (example 123457.00). 

I want to the bottom image's layout at the end of the day. The top one is too wide.

 

Thanks!

 

Jub
Top achievements
Rank 1
Iron
 answered on 05 Feb 2026
1 answer
47 views

private void radGridView1_ContextMenuOpening(object sender, ContextMenuOpeningEventArgs e) { var cellElement = e.ContextMenuProvider as GridCellElement; if (cellElement == null) return;

if (cellElement is GridHeaderCellElement)
{
    RadMenuItem exportExcel = new RadMenuItem($"ExportToExcel");
    exportExcel.Click += (s, args) => { ExportToExcel(); };
    e.ContextMenu.Items.Add(exportExcel);
}

}

After upgrade to UI.for.WinForms.AllControls.Net80 <Version>2025.4.1321

cellElement is null in the above line

then return

i can not see "RadMenuItem($"ExportToExcel")"

WHY?

Nadya | Tech Support Engineer
Telerik team
 updated answer on 04 Feb 2026
1 answer
43 views

 

Hello.

I'm currently using VS2019, Telerik version 2021.3.914.40.

When I Shift-click and then MouseDown on a row in radGridView,

the last clicked RowIndex is internally saved.

When I Shift + MouseDown, the last clicked RowIndex is set as the StartIndex, and the last clicked RowIndex is set as the EndIndex.

I'd like to reset this internal RowIndex, which is saved by the last click.

Since GridView.ClearSelection() doesn't handle this code, I've attached the relevant project. Please check.

Dinko | Tech Support Engineer
Telerik team
 answered on 03 Feb 2026
Narrow your results
Selected tags
Tags
GridView
General Discussions
Scheduler and Reminder
Treeview
Dock
RibbonBar
Themes and Visual Style Builder
ChartView
Calendar, DateTimePicker, TimePicker and Clock
DropDownList
Buttons, RadioButton, CheckBox, etc
ListView
ComboBox and ListBox (obsolete as of Q2 2010)
Form
Chart (obsolete as of Q1 2013)
PageView
MultiColumn ComboBox
TextBox
RichTextEditor
PropertyGrid
Menu
RichTextBox (obsolete as of Q3 2014 SP1)
Panelbar (obsolete as of Q2 2010)
PivotGrid and PivotFieldList
Tabstrip (obsolete as of Q2 2010)
MaskedEditBox
CommandBar
PdfViewer and PdfViewerNavigator
ListControl
Carousel
GanttView
Diagram, DiagramRibbonBar, DiagramToolBox
Panorama
New Product Suggestions
VirtualGrid
Toolstrip (obsolete as of Q3 2010)
AutoCompleteBox
Label
Spreadsheet
ContextMenu
Panel
Visual Studio Extensions
TitleBar
SplitContainer
Documentation
Map
DesktopAlert
CheckedDropDownList
ProgressBar
MessageBox
TrackBar
Rotator
SpinEditor
CheckedListBox
StatusStrip
CollapsiblePanel
LayoutControl
ShapedForm
SyntaxEditor
Wizard
TextBoxControl
Conversational UI, Chat
DateTimePicker
TabbedForm
CAB Enabling Kit
GroupBox
WaitingBar
DataEntry
ScrollablePanel
ScrollBar
ImageEditor
Tools - VSB, Control Spy, Shape Editor
BrowseEditor
DataFilter
FileDialogs
ColorDialog
Gauges (RadialGauge, LinearGauge, BulletGraph)
ApplicationMenu
RangeSelector
CardView
WebCam
BindingNavigator
RibbonForm
Styling
Barcode
PopupEditor
TaskBoard
NavigationView
Callout
ColorBox
PictureBox
FilterView
Accessibility
VirtualKeyboard
DataLayout
Licensing
ToastNotificationManager
ValidationProvider
CalculatorDropDown
Localization
TimePicker
BreadCrumb
ButtonTextBox
FontDropDownList
BarcodeView
Overlay
Security
LocalizationProvider
Dictionary
SplashScreen
Flyout
Separator
SparkLine
TreeMap
StepProgressBar
ToolbarForm
NotifyIcon
DateOnlyPicker
AI Coding Assistant
Rating
TimeSpanPicker
Calculator
OfficeNavigationBar
TaskbarButton
HeatMap
SlideView
PipsPager
AIPrompt
TaskDialog
TimeOnlyPicker
SpeechToTextButton
+? more
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?