Infragistics2.Win.UltraWinTree.v8.1
ColumnSetGenerated Event
See Also  Example
Infragistics.Win.UltraWinTree Namespace > UltraTree Class : ColumnSetGenerated Event

Occurs when a new UltraTreeColumnSet is automatically generated by the control.

Syntax

Visual Basic (Declaration) 
Public Event ColumnSetGenerated() As ColumnSetGeneratedEventHandler
C# 
public event ColumnSetGeneratedEventHandler ColumnSetGenerated()

Event Data

The event handler receives an argument of type ColumnSetGeneratedEventArgs containing data related to this event. The following ColumnSetGeneratedEventArgs properties provide information specific to this event.

PropertyDescription
ColumnSet Returns the newly generated UltraTreeColumnSet

Remarks

This event fires when the tree generates a new UltraTreeColumnSet as a result of creating a data bound node or collection of nodes.

Example

Visual BasicCopy Code
Imports Infragistics.Win.UltraWinTree

    Private Sub ultraTree1_ColumnSetGenerated(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinTree.ColumnSetGeneratedEventArgs) Handles ultraTree1.ColumnSetGenerated
        ' This event will fire whenever the tree automatically generates a ColumnSet.
        ' The ColumnSet is not neccessarily attach to any particular group of
        ' Nodes at this point, so this is an appropriate place to apply appearances
        ' and properties that apply at a ColumnSet level.

        ' The Key of the generated ColumnSet will match the key of the band of data.

        Select Case (e.ColumnSet.Key)
            Case "Customers"
                ' Hide the CustomerID column.
                e.ColumnSet.Columns("CustomerID").Visible = False

                ' Highlight FirstName and LastName columns.
                e.ColumnSet.Columns("FirstName").CellAppearance.BackColor = Color.Cyan
                e.ColumnSet.Columns("LastName").CellAppearance.BackColor = Color.Cyan

            Case "Invoices"
                ' Hide the InvoiceID and CustomerID columns.
                e.ColumnSet.Columns("InvoiceID").Visible = False
                e.ColumnSet.Columns("CustomerID").Visible = False

                ' Highlight Total column.
                e.ColumnSet.Columns("Total").CellAppearance.BackColor = Color.Chartreuse

                ' Format the Total Column as Currency
                e.ColumnSet.Columns("Total").Format = "c"

                ' Format the InvoiceDate so it shows only the date and no time.
                e.ColumnSet.Columns("InvoiceDate").Format = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern

            Case "InvoiceDetails", "Invoice Details"
                ' Note that the DataSet contains a table named "InvoiceDetails" and
                ' a Relationship name "Invoice Details". So there will be two
                ' different ColumnSets based on which one is being displayed.
                ' When the Invoice Details are displayed as the root, "InvoiceDetails"
                ' is used (since it matches the table name). When Invoice Details are displayed
                ' as a child band, "Invoice Details will be used (since it matches
                ' the Relationship name).

                ' Hide the DetailID and InvoiceID columns.
                e.ColumnSet.Columns("DetailID").Visible = False
                e.ColumnSet.Columns("InvoiceID").Visible = False

                ' Highlight Total column.
                e.ColumnSet.Columns("Total").CellAppearance.BackColor = Color.Pink

                ' Format the Total Column as Currency
                e.ColumnSet.Columns("Total").Format = "c"

                ' Assign a ValueList to the ProductID column to translate
                ' the ProductID into a more user-friendly product name.
                ' Note that UltraTree cells are not editable. The ValueList
                ' in this case is for the purpose of translating data values
                ' into display values. It will not drop down.
                e.ColumnSet.Columns("ProductID").ValueList = Me.uddProducts

                ' Since the ProductID column will be showing names instead of IDs
                ' change the caption.
                e.ColumnSet.Columns("ProductID").Text = "Product Name"

            Case "Products"
                ' Hide the ProductID column.
                e.ColumnSet.Columns("ProductID").Visible = False

                ' Highlight the Name column.
                e.ColumnSet.Columns("Name").CellAppearance.BackColor = Color.Yellow

                ' Format the UnitCost Column as Currency
                e.ColumnSet.Columns("UnitCost").Format = "c"

            Case Else
                Debug.Assert(False, "This code should never be reached")
        End Select
    End Sub
C#Copy Code
using Infragistics.Win.UltraWinTree;

       
private void ultraTree1_ColumnSetGenerated(object sender, Infragistics.Win.UltraWinTree.ColumnSetGeneratedEventArgs e)
       {
           
// This event will fire whenever the tree automatically generates a ColumnSet.
           
// The ColumnSet is not neccessarily attach to any particular group of
           
// Nodes at this point, so this is an appropriate place to apply appearances
           
// and properties that apply at a ColumnSet level.

           
// The Key of the generated ColumnSet will match the key of the band of data.
           
           
switch (e.ColumnSet.Key)
           {                
               
case "Customers":
                   
// Hide the CustomerID column.
                   
e.ColumnSet.Columns["CustomerID"].Visible = false;

                   
// Highlight FirstName and LastName columns.
                   
e.ColumnSet.Columns["FirstName"].CellAppearance.BackColor = Color.Cyan;
                   e.ColumnSet.Columns[
"LastName"].CellAppearance.BackColor = Color.Cyan;

                   
break;
               
case "Invoices":
                   
// Hide the InvoiceID and CustomerID columns.
                   
e.ColumnSet.Columns["InvoiceID"].Visible = false;
                   e.ColumnSet.Columns[
"CustomerID"].Visible = false;

                   
// Highlight Total column.
                   
e.ColumnSet.Columns["Total"].CellAppearance.BackColor = Color.Chartreuse;

                   
// Format the Total Column as Currency
                   
e.ColumnSet.Columns["Total"].Format = "c";

                   
// Format the InvoiceDate so it shows only the date and no time.
                   
e.ColumnSet.Columns["InvoiceDate"].Format = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern;

                   
break;
               
case "InvoiceDetails":
               
case "Invoice Details":
                   
// Note that the DataSet contains a table named "InvoiceDetails" and
                   
// a Relationship name "Invoice Details". So there will be two
                   
// different ColumnSets based on which one is being displayed.
                   
// When the Invoice Details are displayed as the root, "InvoiceDetails"
                   
// is used (since it matches the table name). When Invoice Details are displayed
                   
// as a child band, "Invoice Details will be used (since it matches
                   
// the Relationship name).

                   
// Hide the DetailID and InvoiceID columns.
                   
e.ColumnSet.Columns["DetailID"].Visible = false;
                   e.ColumnSet.Columns[
"InvoiceID"].Visible = false;

                   
// Highlight Total column.
                   
e.ColumnSet.Columns["Total"].CellAppearance.BackColor = Color.Pink;

                   
// Format the Total Column as Currency
                   
e.ColumnSet.Columns["Total"].Format = "c";

                   
// Assign a ValueList to the ProductID column to translate
                   
// the ProductID into a more user-friendly product name.
                   
// Note that UltraTree cells are not editable. The ValueList
                   
// in this case is for the purpose of translating data values
                   
// into display values. It will not drop down.
                   
e.ColumnSet.Columns["ProductID"].ValueList = this.uddProducts;

                   
// Since the ProductID column will be showing names instead of IDs
                   
// change the caption.
                   
e.ColumnSet.Columns["ProductID"].Text = "Product Name";

                   
break;
               
case "Products":
                   
// Hide the ProductID column.
                   
e.ColumnSet.Columns["ProductID"].Visible = false;

                   
// Highlight the Name column.
                   
e.ColumnSet.Columns["Name"].CellAppearance.BackColor = Color.Yellow;

                   
// Format the UnitCost Column as Currency
                   
e.ColumnSet.Columns["UnitCost"].Format = "c";

                   
break;

               
default:
                   Debug.Assert(false,
"This code should never be reached");
                   
break;
           }
       }

See Also