I have been populating my treeviews programmatically but would like to change to binding.
I read data from db and build a data model. I'd like to bind the data model to my treeview. so that when collections of objects and objects' properties themselves change they should automatically update in the treeview.
Which binding method would be the best way to achieve this? I've attached a simple mockup diagram to show the hierarchical structure. (Node types are abbreviated and I've removed the N level shown in the diagram from the code, as it doesn't really add to my question). The first part shows the model, and below shows some sample data.
I did a quick test like below which works, but doesn't allow for the collection of Table objects in Form (sibling to the Elements collection) to be populated. I hope this makes sense.
// pseudocode class DataModel { public List<Form> forms; }class Form { public string Name { get; set;} public List<Element> Elements; public List<Table> Tables; }class Element { public string Name { get; set;} }class Column { public string Name { get; set;} }class Table { public string Name { get; set;} public List<Column> Columns; } // not showing creation of data model; see diagram for structure// var DataModel sampleData;
_view.DataSource = new BindingList<Form>(sampleData.forms);_view.DisplayMember = "Name\\Name";_view.ChildMember = "Forms\\Elements";
As a side question, I'd like to have the T objects and the F objects (for example) in their own visual 'folder' in the treeview. Can this be still achieved with data binding, or should I stick my manual population method (which has lots of overhead trying to keep data model and tree view in synch with events, etc.).


What is the scope of setting RadGridLocalizationProvider please?
When setting it, it doesn't seem to be assigned to anything eg a particular window. So I'm a bit confused whether it should be set once on startup or if it should be set per form.
On the surface the function "CurrentProvider" appears to be setting.a static variable somewhere, so does the function add the new instance to a list? or does it override a single instance and need resetting after a child form is disposed?
Sorry if this seems like a dumb question.
public class GeneralRadGridLocalizationProvider : RadGridLocalizationProvider { public override string GetLocalizedString(string id) { switch (id) { case RadGridStringId.ConditionalFormattingPleaseSetValidCellValue: return GuiResources.Please_set_a_valid_cell_value;//foo bar the remaining ids case RadGridStringId.ExpressionFormNotButton: return string.Empty; //if empty, default button image is used } return string.Empty; } }// classpublic function FooBar(){ RadGridLocalizationProvider.CurrentProvider = new GeneralRadGridLocalizationProvider();}Hi,
is it possible to color only the expanded row header?
See image.
What type has this cell?

Hello,
I have some problems when I try to deserialize custom objects which implements RadDiagramShape.
I have implemented a custom shape :
public class MyShape : ElementShape{ public override GraphicsPath CreatePath(System.Drawing.Rectangle bounds) { GraphicsPath path = new GraphicsPath(); path.AddString("Custom", new System.Drawing.FontFamily("Arial"), 0, bounds.Width, Point.Empty, StringFormat.GenericTypographic); return path; }}And a custom diagramShape :
public sealed class MyDiagramShape : RadDiagramShape { public MyDiagramShape() { ShapeText = ""; ElementShape = new MyShape(); InternalElementColor = System.Drawing.Color.LightBlue; } } I add this custom shape to my diagram:
MyDiagramShape diagramShape = new MyDiagramShape();diagramShape.Position = new Telerik.Windows.Diagrams.Core.Point(100, 80);radDiagram1.AddShape(diagramShape);This works fine, and when I serialize, I get a XML like this:
<RadDiagram> <Shapes> <MyDiagramShape Type="WindowsFormsApplicationCustomShape.MyDiagramShape" </Shapes></RadDiagram>
Problems come when I try to load this XML, object instanciated are typed as RadDiagramShape and not MyDiagramShape.
When I serialize again, the structure of the XML is like this :
<RadDiagram><Shapes> <RadDiagramShape Type="Telerik.WinControls.UI.RadDiagramShape"</Shapes></RadDiagram>
I don't know if it's possible to instanciate objects with their derived type like specified in the XML ?
Thanks in advance
How to make an HTML format appear in the CardView field?

Hello,
I would like to implement a custom connection content, depending on the size of the connection.
Basically, I would like to display the distance between the 2 Shapes that are linked by the connection.
I have tried to play with OnConnectionManipulationCompleted event, and I'm able to display that info at the creation of the connection, but it's never refreshed.
Do you know how if I can refresh that info while I'm dragging a shape ?
Thanks
Hello,
I'm creating a DataFilter showing a premade expression and not allowing to Add or Remove other expressions or groups.
I'd like also to disable the possiblity to click on a field and change it, I want to keep them fixed.
I've seen the AllowEdit property, but it's too drastic, since it does not allow even to change the value to look for.
Where should I look?
Thank you!