My current version is 2024.1.312.40
I tried to load a layout (xml file) saved in a previous version RadGridView and get an error that I cannot intercept. In which way I can either catch this exception or disable their occurrence for the user?
The exception occurs in the method: rdgvMain.LoadLayout(reader) and try is not working;
strLayout, reader, stream are not empty
try
{
using (var stream = new StringReader(strLayout))
{
var reader = XmlReader.Create(stream);
rdgvMain.LoadLayout();
stream.Close();
reader.Close();
}
}
catch (Exception ex)
{
AddInfo(ex.Message);
}
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at Telerik.WinControls.UI.GridRowBehavior.OnMouseMove(MouseEventArgs e)
at Telerik.WinControls.UI.BaseGridBehavior.OnMouseMove(MouseEventArgs e)
at Telerik.WinControls.UI.RadGridView.OnMouseMove(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseMove(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at Telerik.WinControls.RadControl.WndProc(Message& m)
at Telerik.WinControls.UI.RadGridView.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Thanks,
Hello,
I have question about getting / copying formatted data in GridView. How can I get outside of GridView formatted value of cell? Second, how can I copy formatted data generally? I understand GridView uses virtualization and it formats data only for visual cells. But definitely there must be some methods for formatting data, that are at least used for formatting visual cells from underlying data. I have seen more forum threads and few samples in KB and documentation, I know there are Copying and CopyingCellClipboardContent events, but all samples demostrates manual formatting, for example lookup in combo box cell, or short time string for DateTime. I would like to get standard formatting, as it's displayed in GridView.
Maybe I should ask only to getting formatted value programatically, not standard Copy in GridView, but I have seen more samples for this. I was using WinForms DataGridView before, and there is FormattedValue property in cell object. I think there have to be a way how to get formatted value also in GridView, maybe by calling some method of GridView. About Copy, the best for me would be if I can get formatted value and do Copy manually, because I want to copy more data formats, formatted text representation and binary data for underlying data objects.
Btw. I was surprised GridView copies raw data and not formatted, I think standard and expected behavior for user is to copy what you can see, not some raw data.
Hello,
I have question about GridView handling of properties with Browsable(false) attribute. It's expected that when I add this attribute to some property, automatic generation of columns will ignore it. But why when I add this column manually, that column is empty. Is it a bug? I think that attribute means that should not be displayed in PropertyGrid, but it doesn't prevent to read / write property. It's not problem for me, that's just question, I ran into it during some other tests.
But, maybe it's not bug but expected behavior, but when I add this attribute to property used as ID for self referencing hierarchy, program freezes on startup, and I think this is a bug, isn't it?
Hello,
I am wondering if GridView really doesn't have selection mode similar to RowHeaderSelect in WinForms DataGridView, where I can select individual cells clicking on those cells or I can select row by clicking row header cell. I have read documentation and forum, and I am also wondering if somebody else really doesn't have the same question.
For example, I want to delete row only if row is selected, not if only few cells are selected in multiple rows, it's strange behavior for me. Or, second use case, I have more Copy operations depending on selection scope, if row is selected, whole data object is copied to clipboard, if individual cells are selected, just those data as text are copied, if only cells from specific columns are selected, one parameter sub-object is copied etc.
Now, I can get used to this new behavior, but users are used to DataGridView behavior, I think they will be little bit confused. Or, I know when I click to row header cell, all cells in that row are selected (also the hidden ones), so I can check if all cells in row are selected and then consider that row as selected, but it will be more processing.
Hello,
I have two problems with selfrefencing hierarchy in GridView. First, my test application is related to this thread, just for info and context, but I am asking question in new thread, as it was recommended to me, and I think this is separate problem not related to original design question.
https://www.telerik.com/forums/gridview---design-of-parameter-editor-with-subitems
I have created more realistic test application (TelerikTestReal in attached project) with new data structures for self referencing hierarchy binding. I can see desired output after program startup. When I add new main item programatically, GridView shows it properly. But, when I change test type of main item and subitems are changed, deleted child rows disappear, but newly added are not shown, as you can see on animation below. After some debugging, I see child rows are added to BindingList bound to DataSource of GridView, I also see ListChanged event of BindingList is properly fired, but GridView doesn't show new child rows. I can show them by calling ResetBindings() method of BindingList. What can be the problem?
The second problem is that I cannot close program after call to ResetBindings() method, I can click close button manytimes, but nothing happens.
I need to create a grid that looks like this:
In the upper right there is an X that need to be a hyperlink which fires a C# event. I'm preparing the data for the grid like this:
foreach (var item in data)
{
item.Name = $"<html><span style=\"font-size: 10\">{item.Name} {item.Acct}</span><p>{item.TicklerDesc}</html>";
item.TicklerDate = $"<html><p></p><span style=\"font-size: 8\">{string.Concat(Enumerable.Repeat(" ", 22))}X<p></p>{item.TicklerDate}</span></html>";
}
As it stands now the X is useless. The questions is: How do I make it a hyperlink (or fake equivalent) so that I can fire a C# event?
Thanks
Carl
I am calling a panel from another form so I can re-use it without having duplicate code. This panel has a RadViewGrid, but because it is called outside of its parent form it doesn't seem to call the CellFormatting handle. I am trying to style the cells in code, but backcolor doesn't seem to do anything
'Create new form to display pnlPayment
Dim FormPayment As Form = New Form
FormPayment.Size = New Size(1070, 652)
FormPayment.Name = "FormPayment"
FormPayment.StartPosition = FormStartPosition.CenterScreen
FormPayment.FormBorderStyle = FormBorderStyle.FixedDialog
FormPayment.ControlBox = False
FormPayment.Controls.Add(FrmCashRegister.pnlPayment)
'dynamically find this. can also be done with FrmCashRegister.pnlPayment.Visible = true but I wrote it like this to be sure and to make my life hard
Dim paymentpanel() As Control = FormPayment.Controls.Find("pnlPayment", False).
paymentpanel(0).Visible = True
FrmCashRegister.RadGridViewPayment.AutoSizeRows = True
FrmCashRegister.RadGridViewPayment.EnableAlternatingRowColor = True
For Each row As Telerik.WinControls.UI.GridViewRowInfo In FrmCashRegister.RadGridViewPayment.Rows
For Each cell In row.Cells
cell.Style.DrawFill = True
cell.Style.ForeColor = Color.White 'works
cell.Style.BackColor = Color.Blue 'doesn't work
Next
Next
The cell.Style.ForeColor works, but cell.Style.BackColor does not.
I've tried getting the CellElement and assigning styling there but that doesn't work either.