i have a Master-Detail CRUD Job
Details shown using RADGRIDVIEW
for example : Master is "TBSYUSER" class Detail is "TBSYUSAU" class
change master will change detail data
i using BindingList<TBSYUSAU> --> BindingSource -> RADGRIDVIEW
now if detail data's count varing a little large
ex: record count change from 1 to 89 due to master change
RADGRIDVIEW refresh will take more times
should i change strucuture to : Datatable --> BindingSource -> RADGRIDVIEW
or have some suggestion ?
TKs

I would like to expand a GridViewComboBoxColumn list on the same row where on another column that is set to "Lost".
(see attached screenshot)
(1) User clicks on a cell and selects "Lost" from a list
(2) From Cell Event, the "Reason" column (GridViewComboBoxColumn) is automatically expanded so the user knows to select a reason.
private void dgvSales_CellValidating(object sender, CellValidatingEventArgs e)
{
if(e.ColumnIndex >= 0 && e.RowIndex >= 0)
{
switch (e.ColumnIndex)
{
case int _ when e.ColumnIndex == dgvSales.Columns["colWonLost"].Index:
if(e.Value.ToString() == "Lost")
{
dgvSales.CurrentRow.Cells["colReason"].IsSelected = true;
//Add code here to expand colReason list
return;
}
break;
default:
break;
}
}
} //dgvSales CellValidating
Hi
I notice in the release notes for WinForms 2025.4.1321 that the upcoming release (Q2 2026) will no longer support Windows 7 theme (amongst others). My desktop application make extensive use of this theme, including mimicing the colours used by th etheme in other custom controls.
What is exactly meant by "Support for existing controls using these themes will remain unchanged."? Will my existing application work as before without changes for this and following releases of WinForms?
Cheers
Toby
I searched and searched and this answer was answered back in 2023 but not from a code perspective.
How do I change the font fore color (via code) for the group caption? CaptionFill is for the backcolor. Got it. I have spent hours trying to find it in this website and searching. Why does Telerik make things so difficult?

Hello,
I want to choose column by checkboxes, something like that:
I
It is possible?
Thank you for your answer

i want to disable some default Column Header Context Menu like "Sort Ascdnging" "Sort Descending" ...
How to do ?
Also i want to disable some default Cell Column Context Menu ? TKS

i use RADGRIDVIEW to show datas
i want to let use to select some rows as "Deleted"
to delete these datas form DataBase
how can i let these rows shown as the following
the example is done by using C# default DataGridView
How can be done in RADGRIDIEW ?

Hello,
I would like to ask two questions about custom columns in GridView. I'm putting them into one thread since they're related.
1. What's the relationship between SetContentCore and OnCellFormatting? Is it ok to set formatting in SetContentCore? This is how it seems to me to be correct:
protected override void SetContentCore(object value)
{
if (value is Quality q)
{
if (q == Quality.None)
Text = "--";
else
Text = q.ToString();
}
else
base.SetContentCore(value);
}
protected override void OnCellFormatting(CellFormattingEventArgs e)
{
ResetValue(VisualElement.BackColorProperty, ValueResetFlags.Local);
ResetValue(VisualElement.ForeColorProperty, ValueResetFlags.Local);
ResetValue(LightVisualElement.NumberOfColorsProperty, ValueResetFlags.Local);
ResetValue(LightVisualElement.DrawFillProperty, ValueResetFlags.Local);
if (Value is Quality q)
{
switch (q)
{
case Quality.OK:
BackColor = Color.Lime;
NumberOfColors = 1;
DrawFill = true;
break;
case Quality.NOK:
BackColor = Color.Red;
NumberOfColors = 1;
DrawFill = true;
break;
case Quality.Error:
BackColor = Color.DodgerBlue;
NumberOfColors = 1;
DrawFill = true;
break;
}
}
base.OnCellFormatting(e);
}But this also works. I tried it mainly because of the second question, and Copilot actually suggested it as the first styling approach.
protected override void SetContentCore(object value)
{
if (value is Quality q)
{
if (q == Quality.None)
Text = "--";
else
Text = q.ToString();
ResetValue(VisualElement.BackColorProperty, ValueResetFlags.Local);
ResetValue(VisualElement.ForeColorProperty, ValueResetFlags.Local);
ResetValue(LightVisualElement.NumberOfColorsProperty, ValueResetFlags.Local);
ResetValue(LightVisualElement.DrawFillProperty, ValueResetFlags.Local);
switch (q)
{
case Quality.OK:
BackColor = Color.Lime;
NumberOfColors = 1;
DrawFill = true;
break;
case Quality.NOK:
BackColor = Color.Red;
NumberOfColors = 1;
DrawFill = true;
break;
case Quality.Error:
BackColor = Color.DodgerBlue;
NumberOfColors = 1;
DrawFill = true;
break;
}
}
else
base.SetContentCore(value);
}
2. Is there any way to override how Value is retrieved from the DataBoundItem? In one of my column types, I can't use FieldName directly. In classic DataGridView, I could override GetValue / SetValue like this:
protected override object GetValue(int rowIndex)
{
DgvRealResultColumn col = OwningColumn as DgvRealResultColumn;
object obj = DataGridView.Rows[rowIndex].DataBoundItem;
if ((col == null) || (obj == null))
return base.GetValue(rowIndex);
object resultValue = GetResultValue(rowIndex, col, obj);
Quality q = (Quality)Convert.ToInt32(resultValue);
if (!QualityHelper.HasValue(q))
return null;
if (obj is RealResult rr)
return rr.Value;
string propName = string.Format("R{0:D3}Value", col.ItemIndex);
PropertyInfo pi = obj.GetType().GetProperty(propName);
return pi.GetValue(obj, null);
}
I don't see anything like that in Telerik GridView. So far, I came up with this workaround:
protected override void SetContentCore(object value)
{
TestResult r = null;
var obj = RowInfo.DataBoundItem;
if (obj is TestResult)
r = (TestResult)obj;
else if (obj is TestItem item)
{
var col = ColumnInfo as RgvTestResultColumn;
if ((col != null) && (item.Results != null) && (col.ResultIndex < item.Results.Length))
r = item.Results[col.ResultIndex];
}
ResetValue(VisualElement.BackColorProperty, ValueResetFlags.Local);
ResetValue(VisualElement.ForeColorProperty, ValueResetFlags.Local);
ResetValue(LightVisualElement.NumberOfColorsProperty, ValueResetFlags.Local);
ResetValue(LightVisualElement.DrawFillProperty, ValueResetFlags.Local);
if (r == null)
{
base.SetContentCore(value);
return;
}
switch (r.Result)
{
case Quality.OK:
Text = r.Value.ToString("F1");
BackColor = Color.Lime;
NumberOfColors = 1;
DrawFill = true;
break;
case Quality.NOK:
Text = r.Value.ToString("F1");
BackColor = Color.Red;
NumberOfColors = 1;
DrawFill = true;
break;
case Quality.Error:
Text = "X";
BackColor = Color.DodgerBlue;
NumberOfColors = 1;
DrawFill = true;
break;
default:
Text = "--";
break;
}
}But in this case, it doesn't set the internal Value, so when I write rgv.Rows[0].Cells["colR0"].Value in code, I always get null. Is there any way to solve this? I am attaching my test code for testing.

i want to custimize RadMessageBox
example : set the TitleBar.Font BackColor
set radLabel1 font and backcolor
set button 's font and button's szie ....

RadMenuItem's TEXT shown too small ? how can i fix it ?