Infragistics WPF Tree user control with self-referencing datatable
Job Description We need a developer to create a generic user control based on the Infragistics WPF Tree Control http://www.infragistics.com/dotnet/netadvantage/wpf/data-tree.aspx#Overview About the control Create a generic TREE UserControl that supports a self-referencing datasource, drag and drop moving of rows, insert/edit/deletes inline, a column chooser for adding/removing additional columns, support for a popupcontextmenu showing functions (expand/collapse, add/edit, etc). The idea is, we should drag the control onto our forms, set the datsource, show hide the columns we want and expect everything else to function as documented below. The control will be used INSIDE A WINFORMS APPLICATION, therefore we typically add the custom WPF UserControl to a another WINFORMS UserControl and customise that implementation which then added into our app. We will re-use the base WPF TREE UserControl in many forms using many different datasources. The contents of the DataSource can/will change in the background (but only the main thread), therefore the control must monitor the datasource for changes, and update the tree appropriately (without losing the current highlighted row and without doing a full tree rebuild unless needed). We typically use a standard DataTable or ienumerable(of DataTable.RowType) as the datasource. We have found in the past, self related Tree Controls function better when unbound, this means you will create the code to effect binding of the nodes. However if you feel the WPF control binds self related data adequately please let us know as we happy to use any generic infragistic code. I found an example implementation of a self-related tree control on the code project http://www.codeproject.com/Articles/70414/Fast-Updating-of-Treeview-Control-With-a-Database however this code lacks drag/drop, expand/contract branch or tree, and other general tree features. It can be used as a basis for getting started using an unbound tree… maybe usefull!! We have an existing working version of a infragistics winforms tree control. This new control will replace our existing control, therefore it must implement the same functionality. I can provide a video of our tree working if you need it! I can provide an example dataset/datatable if needed. You don’t have to worry about populating the rows as our implementation will do that. Typical structure of the DataSource Column GUID Primary Column GUID Parent (Self Related) Column String Label Column anything as needed NOTE: There could be many columns in the datasource than we want exposed in the tree and some we will always hide. Control Interface Implementation iPersist (or whatever the WPF equivalent is) must save width/height, visible columns in tree, user selected sort order Control Properties The control should expose a property for a datasource. When the datasource is set, the control should read the columns collection and provide an interface for setting 1. What column of the datasource to be used as the label of the tree 2. What columns will make up the sort order (asc or Desc per column) 3. What extra columns will be displayed (if any) in the control. (the column chooser will only enable/disable these columns) 4. Editable column headers for all column (default to column name) The control must support reading from an iterator as ienumerable (OF datatable.rowtype). A property FeatureSet with ENUM to specify All Features Can Add rows Can Edit rows Can Delete rows Can Expand Tree Can Expand Branch Allow DragDrop Internal (same tree control) Allow DragDrop External (to another tree control) A property AddDefaultContextMenu If true, a default contextmenu will be built with the Features in FetaureSet A property AutoExpandLevels to specify the level to expand when the control is loaded AutoExpandLevels =2 (the tree will expand levels 0, 1 and 2 on initialisation) A readonly property that exposes the Infragistic Tree Control Methods An initialize method, with arguments (parent as GUID) – and maybe other overload loads the tree for the first time from the datasource (doesn’t display it). Expands to branch level as set by property Parent = NULL loads all parents, Parent=SOMEGUID loads from that branch SelectNodebyGUID Search and find the node, expand tree if needed Keywords: Desktop Applications, wpf, winform, basic, infragistic, video
| Expired |
More infragistic projects
View AllMore wpf projects
View AllRelated projects
Search for freelance jobs
"I did not know what to expect at first. But my final impression once I used your site and service is a great one! Simply amazing!
I would recommend this service to any other freelance artists and co workers who are looking to expand their client base."
"The possibility to include all information about my freelance working places in just one website. It means, I don't need to tell my future employer to go to odesk, elance, etc. They can check everything about me in donanza website."




