Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
907
WinTree performance versus 2005 version is horrible
posted
I have a couple of pop-up editors that use the win tree control that load up 100-200 rows and on my desktop takes about 3 seconds to load.  On some of the test laptops they can take 30 seconds to load.  I just upgraded to 2008, the 1st version that doesn't have event conflict errors with our host designer and my pop-up editors on my desktop ate taking 90-110 seconds to load.  I am building out the nodes manually, to give you an idea what a portion of this looks like, I'll include a couple functions below...  Any idea what might be causing the creation of a node to take to fricken long?

private void AddFields(UltraTreeNode node, Field field, int depth) {

if (field.Child == null) {

ConfigureFieldNode(node.Nodes.Add(), field);

}
else {AddRecord(node, field.Child, field, false, depth);

}

}

 

private void ConfigureRecordNode(UltraTreeNode node, Field parentField, Record record,
bool referring, int depth)

{

string parentName = "";

if (parentField != null) {

parentName = parentField.Name;

}

string name = MaskUtil.BuildMaskRecordDisplayName(record.Name, parentName, referring);

node.Cells["Selected"].Value = false;

node.Cells["Name"].Value = name;

node.Cells["Name"].Tag = parentField; // Just needed a spot to store this.

node.Cells["DataType"].Value = "Record";

node.Cells["DataType"].Tag = referring; // Just needed a spot to store this.

node.Cells["Reference"].Value = record.TableLocationName;

node.Cells["CascadeAdd"].Value = false;

node.Cells["CascadeDelete"].Value = false;

node.Cells["Name"].Appearance.FontData.Bold = DefaultableBoolean.True;

if (parentField == null) {

node.Cells["CascadeAdd"].Value = null;

node.Cells["CascadeDelete"].Value = null;

}

node.Tag = record;

//

// If we have a child referring table, we need to set its visibility.

// We always show the referring tables for the main record.

//

if (referring && depth > 1) {

node.Visible = showChildReferringRecords;

}

}

private void ConfigureFieldNode(UltraTreeNode node, Field field) {

node.Cells["Selected"].Value = false;

node.Cells["Name"].Value = field.Name;

node.Cells["DataType"].Value = field.DataType.ToString();

node.Cells["Reference"].Value = "";

node.Tag = field;

}

Parents
  • 469350
    Verified Answer
    Offline posted

     Hi,

        It's pretty hard to tell anything from a code snippet like this.

        My first suggestion would be that you set teh IDE to break on all run-time exceptions. A common cause of performance issues is that exceptions are being hit and caught. Turning on all exceptions will show you if any exceptions are occurring and might provide some hint as to why they are occurring and how to get around them.

        If that doesnt' help, see if you can reproduce the issue in a small sample project and Submit an incident to Infragistics Developer Support so they can see what's taking so long.

Reply Children