In a Section Report, ActiveReports allows you to drop a third party control onto the report design surface where it is recognized as a custom control. You can access its properties using type casting.
In the following steps, we use hidden textbox controls to populate a Visual Studio TreeView control. These steps assume that you have already added a code-based Section Report template in a Visual Studio project.
The following examples show what the code for the function looks like.
Visual Basic.NET code. Paste INSIDE the report class. |
Copy Code
|
---|---|
Private Function AddNodeToTreeView(ByVal colNodes As TreeNodeCollection, ByVal sText As String) As TreeNode Dim objTreeNode As TreeNode objTreeNode = New TreeNode(sText) colNodes.Add(objTreeNode) Return objTreeNode End Function |
To write the code in C#. Paste INSIDE the report class. |
Copy Code
|
---|---|
private TreeNode AddNodeToTreeView(TreeNodeCollection colNodes, string sText) { TreeNode objTreeNode; objTreeNode = new TreeNode(sText); colNodes.Add(objTreeNode); return objTreeNode; } |
The following example shows what the code for the method looks like.
To write the code in Visual Basic.NET |
Copy Code
|
---|---|
'Type cast the custom control as a TreeView Dim TreeView1 As New TreeView TreeView1 = CType(Me.CustomControl1.Control, TreeView) 'Create a tree node Dim objCountryTreeNode As TreeNode 'Assign the text from a hidden textbox to the node objCountryTreeNode = AddNodeToTreeView(TreeView1.Nodes, Me.txtShipCountry1.Text) 'Add a second-level node AddNodeToTreeView(objCountryTreeNode.Nodes, Me.txtShipCity1.Text) 'Expand the top-level node so the second-level node is in view objCountryTreeNode.Expand() 'Create a second top-level node Dim objCustomerTreeNode As TreeNode objCustomerTreeNode = AddNodeToTreeView(TreeView1.Nodes, Me.txtCustomerId1.Text) AddNodeToTreeView(objCustomerTreeNode.Nodes, Me.txtEmployeeId1.Text) objCustomerTreeNode.Expand() |
To write the code in Visual Basic.NET |
Copy Code
|
---|---|
//Type cast the custom control as a TreeView TreeView TreeView1 = new TreeView();TreeView1 = (TreeView)this.customControl1.Control; //Create a tree node TreeNode objCountryTreeNode;//Assign the text from a hidden textbox to the node objCountryTreeNode = AddNodeToTreeView(TreeView1.Nodes, this.txtShipCountry1.Text);//Add a second-level node AddNodeToTreeView(objCountryTreeNode.Nodes, this.txtShipCity1.Text);//Expand the top-level node so the second-level node is in view objCountryTreeNode.Expand(); //Create a second top-level node TreeNode objCustomerTreeNode;objCustomerTreeNode = AddNodeToTreeView(TreeView1.Nodes, this.txtCustomerId1.Text);AddNodeToTreeView(objCustomerTreeNode.Nodes, this.txtEmployeeId1.Text);objCustomerTreeNode.Expand(); |
Visual Basic.NET code. Paste INSIDE the Form Load event |
Copy Code
|
---|---|
Dim ar = New SectionReport1() ar.Run(False) viewer1.LoadDocument(ar.Document) |
C# code. Paste INSIDE the Form Load event |
Copy Code
|
---|---|
var ar = new SectionReport1(); ar.Run(false); viewer1.LoadDocument(ar.Document); |