I have a RowSourceNeeded event, and inside that event I create my child GridView and add rows to it. There are conditions that would keep me from adding the child GridView; however, I still need to add this child when I do have the data required to do so.
In this event I check a property "model.Parameters" which could be null; however, it is not always going to be null (after handling the RowSourceNeeded event) and when not null I need to add the child GridView.
Here's where I add it.
// get the analysis parameter differences for this row (scan)
private async void BatchComparisonGrid_RowSourceNeeded(object sender, GridViewRowSourceNeededEventArgs e)
{
// tell user we're getting the analysis parameters
UpdateWaitingBar(ElementVisibility.Visible, "Getting analysis parameters");
// get item bound to the row
ComparisonScanViewModel model = e.ParentRow.DataBoundItem as ComparisonScanViewModel;
await Task.Factory.StartNew(() =>
{
if (null != model && null != model.Parameters)
{
// I don't do anything here, I just needed to cause 'model.Parameters' to
// be called since it is a timely call.
}
});
// update the UI
if (null != model &&
null != model.Parameters)
{
foreach (ComparisonAnalysisParameterViewModel am in model.Parameters)
{
// build values to go in the row details grid
GridViewRowInfo row = e.Template.Rows.NewRow();
row.Cells["Description"].Value = am.Title;
row.Cells["Value"].Value = am.Value;
e.SourceCollection.Add(row);
}
e.ParentRow.IsExpanded = true;
}
// tell the user we're done
UpdateWaitingBar(ElementVisibility.Collapsed);
}
Later, I'm listening to the CurrentRowChanging event. Here I can get the same data from the model and potentially build the child GridView; however, I don't have the necessary information required that was provided to me in the RowSourceNeeded event. I.e. e.Template and e.SourceCollection.
// row is changing in the grid and time to expand that item to show the details for the row
private void BatchComparisonGrid_CurrentRowChanging(object sender, CurrentRowChangingEventArgs e)
{
if (e.NewRow is GridViewHierarchyRowInfo)
{
foreach (var item in BatchComparisonGrid.Rows)
{
item.IsExpanded = false;
}
// get model
ComparisonScanViewModel model = e.NewRow.DataBoundItem as ComparisonScanViewModel;
if(null != model.Parameters)
{
// code would go here that checks to see if this row already had the child GridView
// added, and if not AND model.Parameters is not null, then we'll add the child GridView now.
// BUT, how to do this from here ????
}
// expand
e.NewRow.IsExpanded = true;
}
}
Is there some way to access what I need from the CurrentRowChanging event in order to add the child GridView...since the RowSourceNeeded event is never raised again after the first time it is raised?
While trying to build a quick POC using Telerik diagram control I came upon this issue.
When I try to bind "Associated Diagram" in the RadDiagramRibbonBar, I get an error when I click on the Drop down control.
---------------------------
Microsoft Visual Studio
---------------------------
Error using the dropdown: Unable to cast object of type 'System.Windows.Forms.UserControl' to type 'System.Windows.Forms.Form'.
---------------------------
OK
---------------------------
I understand that an Excel Document Action Pane is in effect a UserControl type but I was wondering if there was a work around to this scenario.
Hi
How can I left align the text in the virtualGrid (with only one column and AutoSizeColumnsMode set to Fill).
Hello again folks.
Can someone please show me how to edit the border and background colors of the DesktopAlert Context Menu that appears when the "Options" button is clicked?
Thank you!
-Curtis
Hello there,
I added a RadButton to my WInForm and although I can find TextPrimitive.TextOrientation property in the Designer, I cannot find it through the Telerik API so I can change it in runtime!
Telerik Designer and API are not consistent with each other?
Any idea on how I can resolve my problem?
Thank you,
Maria
I reported the issue below back in September 2017. It was scheduled for a fix in R1 2018 (here). However, it appears that the problem persists. Did it get missed or is there a setting/option that I'm missing. I think it is a rather major issue for anyone trying to put a DPI aware app together.
This is the problem:
In a DPI aware app, using the docking tool window auto-hide dramatically increases the size of any controls on the window. This can be demonstrated with a new application. Add a RadDock to the form, add a couple of tool windows and a document window, and add a few controls to either of the tool windows (label, button, treeview, property grid, etc.). Run the app as DPI aware at 150 scale. Hide a tool window. Open the tool window. When the tool window slides open all the font and control sizes have greatly increased.
Hi.
Attach an image. When user move mouse over the chart, a tooltip show to the user Value = 1. i want to change "value" text with my Custom text, like "مقدار".
how can do this ?