When multiple rows are selected in a RadGridView and one of the selected rows is subsequently deselected, the text in some cells of the deselected row appears to disappear.
The cell values still exist and are rendered correctly after another repaint occurs, such as when selecting a different row.
While the row is selected, the appearance is correct:
However, after deselection:
As a result, the cell seems to have:
ForeColor= White
making the text effectively invisible.
The same steps do not produce a visible issue when using the FluentDark theme.
However, based on our investigation:
It appears that the foreground color may also remain in the selected-state color after deselection in FluentDark.
When the theme is subsequently switched from FluentDark to Fluent, the issue becomes visible because the colors effectively become:
ForeColor = White
and the text can no longer be seen.
When a row is deselected, the cell foreground color should be properly restored to the default color for the unselected state.
Is it necessary to explicitly reset the ForeColor in events such as CellFormatting or RowFormatting, or is this behavior considered a bug in the Fluent/FluentDark themes?
Based on the screenshots, the background color appears to be updated correctly, while the foreground color of only some cells remains in the selected-state color until a repaint occurs, after which the display returns to normal.

Hello,
your DataGridView control includes the SaveLayout feature, but it saves everything, including font size and other visual settings. I would like to save only selected properties—for example, just the conditional formatting. I’m aware that serialization is an option, but it’s lengthy and not user‑friendly. Is it possible to enhance SaveLayout so it can save only specific properties?
Regards
Radek

Hello,
is there a chance to add this functionality to the label?
Thanks for your reply.
Radek

I'm enjoying using the Panorama control and it is quite a useful too for listing a lot of items or showing a User Selection screen (which I will want to use it for eventually. But I will not always know the size of the screen that the control will be used on and so hard setting the RowsCount property just feels like poor programming. See the attached image (DatabaseList) for example.
Is there a way to have the RowsCount dynamic and take up as much room as it can without showing half a tile at the bottom of the screen or form please? If there was a way to they have this refresh if and when the form is resized that would be even better.
Thank you in advance.
Simon

When multiple rows are selected, I would like to deselect only the clicked row if the user clicks a row that is already selected.
I implemented the following logic in the event:CurrentRowChanging
}
Initial state:
Action:
Result:
This works as expected.
Initial state:
Action:
Result:
SelectedRowsI confirmed that is not fired when the user clicks the CurrentRow itself, since the current row is not changing.CurrentRowChanging
After clicking the CurrentRow, I checked the following properties:
radGridView1.SelectedRows.Contains(row) == false
Therefore, the row appears to be completely deselected internally.
I tried forcing UI updates using the following methods, but the visual appearance did not change:
radGridView1.TableElement.Update(GridUINotifyAction.StateChanged);
radGridView1.TableElement.Invalidate();
radGridView1.Refresh();
Although the row is no longer selected:
radGridView1.SelectedRows.Contains(row) == false
the entire row remains highlighted in blue.
Is this expected behavior caused by the CurrentRow/Focus visual state, or could this be a rendering issue?
Additionally, is there a recommended way to achieve the following behavior?
Any guidance or recommended approach would be greatly appreciated.
Thank you.
---------------------------------------------------
The issue looks like it can be resolved with the following code:
private void GridView_RowFormatting(object sender, RowFormattingEventArgs e)
{
if (e.RowElement.RowInfo.IsSelected)
{
e.RowElement.DrawFill = true;
e.RowElement.GradientStyle = Telerik.WinControls.GradientStyles.Solid;
e.RowElement.DrawBorder = true;
e.RowElement.BorderBoxStyle = Telerik.WinControls.BorderBoxStyle.SingleBorder;
}
else
{
e.RowElement.DrawFill = false;
e.RowElement.DrawBorder = false;
}
}
private void GridView_CellFormatting(object sender, CellFormattingEventArgs e)
{
if (e.CellElement.RowInfo.IsSelected)
{
e.CellElement.DrawFill = true;
}
else
{
e.CellElement.DrawFill = false;
}
}
However, the ">" indicator for the CurrentRow and the border that remains around the selected cell are still displayed.
Is there a way to remove these as well?
Please refer to the attached image.

There is nothing in the textbox, but I do have AutocompleteMode to Suggest. It also did this with None.
The control is bound to a DataTable.
any suggestions on helping solve this would be appreciated.
* Also it looks like the "Blank" is at the bottom instead of the top.
Blank is not an option I added to the control.
Thanks,
Rog

I have a control on a form that is working fine most of the time. But I'm finding that if I want to print a PDF file from elsewhere in the form (with the PDF Viewer on another tab that is not visible) then the LoadDocument is not working. Is this by design please?
Kind regards,
Simon



Hi,
I don't think there is currently a way to drag components directly on the designer for RibbonBar sub-elements.
For example, when adding a new button in a RadRibbonBarGroup, there is no way to change its order : I would like to put it between existing buttons.
The same is also impossible when adding a RadRibbonBarButtonGroup inside a RadRibbonBarGroup, there is no way to move buttons from the RadRibbonBarGroup to the newly created RadRibbonBarGroup .
Also, the RadLabel element doesn't exist in the list of possible elements to add.
For all these problems, there is no other way than modifying the Designer.cs code. And it's a real pain...
Thank you.
