Searching for a powerful .NET 2.0 windows form data mapping control? TreeViewMapper.NET is a professional, enterprise-grade .NET data integration control. I, originally, wrote this when I needed to integrate two applications and wanted a slick user interface for migrating the data. Screenshots: Here is a screenshot from the included sample application:  The output of "View All Relations" 
Features: Basic Features:- .NET 2.0 source code
- Very easy to use
- 100% managed code
- High performance
- Easy to deploy
- Customizable
- Event-driven- plug this into your application and be using it in minutes
Data Integration:- Easy visual mapping of data
- Allow business users to setup mapping rules
XML Integration: - Use this control to create the XSL rules you need for application mapping
Frequent Question: 1. How do I bind XML to the source or target treeview?Call the method like this: populateTreeView(treeViewMapper1.SourceTreeView, @"1.xml");
populateTreeView(treeViewMapper1.TargetTreeView, @"2.xml");
Here is the populate XML treeview method: private void populateTreeView( TreeView xmlTree, string strFile)
{
FileStream fileStreamObject;
XmlTextReader xmlReader;
TreeNode xmlNode = null;
TreeNode previousTreeNode = null;
bool emptyElement = false;
string strNodeType;
fileStreamObject = new FileStream(strFile, FileMode.Open, FileAccess.Read);
xmlReader = new XmlTextReader(fileStreamObject);
xmlTree.Nodes.Clear();
xmlTree.BeginUpdate();
try
{
while (xmlReader.Read())
{
strNodeType = xmlReader.NodeType.ToString();
switch (xmlReader.NodeType)
{
case XmlNodeType.DocumentType:
case XmlNodeType.ProcessingInstruction:
case XmlNodeType.XmlDeclaration:
case XmlNodeType.CDATA:
case XmlNodeType.Comment:
xmlNode = new TreeNode("[" + strNodeType + "]");
xmlNode.Nodes.Add(xmlReader.Value);
if (previousTreeNode == null)
break;
previousTreeNode.Nodes.Add(xmlNode);
continue;
case XmlNodeType.Attribute:
case XmlNodeType.DocumentFragment:
case XmlNodeType.Document:
case XmlNodeType.EndEntity:
case XmlNodeType.Entity:
case XmlNodeType.EntityReference:
case XmlNodeType.None:
case XmlNodeType.Notation:
case XmlNodeType.SignificantWhitespace:
case XmlNodeType.Whitespace:
continue;
case XmlNodeType.Element:
xmlNode = new TreeNode("<" + xmlReader.Name + ">");
emptyElement = xmlReader.IsEmptyElement;
while (xmlReader.MoveToNextAttribute())
{
TreeNode attNode = new TreeNode("Attribute");
attNode.Nodes.Add(xmlReader.Name + "='" + xmlReader.Value + "'");
xmlNode.Nodes.Add(attNode);
}
if (previousTreeNode == null)
{
previousTreeNode = xmlNode;
break;
}
previousTreeNode.Nodes.Add(xmlNode);
if (!emptyElement)
previousTreeNode = xmlNode;
continue;
case XmlNodeType.EndElement:
previousTreeNode = previousTreeNode.Parent;
continue;
case XmlNodeType.Text:
previousTreeNode.Nodes.Add(xmlReader.Value);
continue;
default:
break;
}
xmlTree.Nodes.Add(xmlNode);
}
}
catch (Exception e)
{
xmlTree.EndUpdate();
MessageBox.Show(e.Message);
}
xmlTree.EndUpdate();
xmlTree.ExpandAll();
}
Licensing: Full source-code (C#) is provided. You are free to modify and distribute compiled binaries. Permission is not granted to distribute the source-code. If you need further clarification on this license, please contact me. What's Included: - .NET 2.0 C# source-code to TreeViewMapper.Net control
- .NET 2.0 C# source-code to sample application demonstrating features and events
Purchase: Purchase this product now and have it delivered in 5 minutes or less! It doesn't matter if it's 3:00 a.m. in the morning!
Get all this for the low price of $49.99
|