59
How can I replace or add an icon at runtime

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectCallMethod( xmlgrid , "ReplaceIcon", "gAAAABgYACEHgUJFEEAAWhUJCEJEEJggEhMCYEXjUbjkJQECj8gj8hAEjkshYEpk8kf8ClsulsvAExmcvf83js5nU7nkCeEcn8boMaocXosCB9Hn09pkzcEuoL/fE+O" +
	"kYB0gB9YhIHrddgVcr9aktZADAD8+P8CgIA==");
_ObjectCallMethod( xmlgrid , "ReplaceIcon", "C:\images\favicon.ico",0);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>1");
	nodes = _ObjectGetProperty( node , "Nodes");
		node = _ObjectCallMethod( nodes , "Add", "Child 1");
			_ObjectSetProperty( node , "Value", "Event");
			_ObjectSetProperty( node , "Selected", -1);
			_ObjectSetProperty( node , "Image", 1);
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectCallMethod( node , "ExpandAll");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectCallMethod( nodes , "Add", "Child 1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
_ObjectCallMethod( xmlgrid , "EndUpdate");

58
Force hover-all feature
OBJECT xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(500) = -1");

57
Disable hover-all feature (Windows 11 or greater)
OBJECT xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(500) = 1");

56
ImageSize property on 32 (specifies the size of the control' icons)

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "ImageSize", 32);
_ObjectSetProperty( _ObjectGetProperty( xmlgrid , "Font") , "Size", 16);
_ObjectSetProperty( xmlgrid , "NodeHeight", 32);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(-1) = ImageSize");
_ObjectCallMethod( xmlgrid , "Images", "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");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>1");
	nodes = _ObjectGetProperty( node , "Nodes");
		node = _ObjectCallMethod( nodes , "Add", "Child 1");
			_ObjectSetProperty( node , "Value", "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1");
			_ObjectSetProperty( node , "Selected", -1);
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectCallMethod( node , "ExpandAll");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectCallMethod( nodes , "Add", "Child 1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
_ObjectSetProperty( xmlgrid , "ExpandBarVisible", -1);
_ObjectSetProperty( xmlgrid , "ExpandButtons", 3);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ExpandButtonsCustom(False) = 1");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ExpandButtonsCustom(True) = 2");
_ObjectCallMethod( xmlgrid , "EndUpdate");

55
ImageSize property on 16 (specifies the size of the control' icons)

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "ImageSize", 16);
_ObjectCallMethod( xmlgrid , "Images", "gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOq" +
	"dSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVt" +
	"tmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8a" +
	"cvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtT" +
	"GsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgP" +
	"nwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>1");
	nodes = _ObjectGetProperty( node , "Nodes");
		node = _ObjectCallMethod( nodes , "Add", "Child 1");
			_ObjectSetProperty( node , "Value", "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1");
			_ObjectSetProperty( node , "Selected", -1);
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectCallMethod( node , "ExpandAll");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectCallMethod( nodes , "Add", "Child 1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
_ObjectSetProperty( xmlgrid , "ExpandBarVisible", -1);
_ObjectSetProperty( xmlgrid , "ExpandButtons", 3);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ExpandButtonsCustom(False) = 1");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ExpandButtonsCustom(True) = 2");
_ObjectCallMethod( xmlgrid , "EndUpdate");

54
How can I create a new node with attribute, something like <newnode attr1='at1'/>

OBJECT node,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "Images", "gBJJgBAICAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf+Pt2RrmazF3zlez+duGhsGk0Vp01i" +
	"1On0GV1dU1ev1lf2VWymX2e53W73m9327iw+lfCj0gkUkAEllHKnG13j/cHQjb/eHU6b4f74jbwOncjbAB3gjaAB/k8flB8oA4A9cb9ftjXv9Xs+fwAHk80a/HpjTAD7" +
	"/O2P54D+jaAg=");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "newnode");
	_ObjectSetProperty( node , "Image", 1);
	_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( node , "Nodes") , "Add", "attr1","at1") , "Image", 2);
_ObjectCallMethod( xmlgrid , "ExpandAll");
d = CreateObject("MSXML.DOMDocument");
_ObjectCallMethod( xmlgrid , "SaveXML", d);
Message( _ObjectGetProperty( d , "xml") );

53
Is it possible to load the XML with a different version of XML DOM
OBJECT d,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
d = CreateObject("Msxml2.DOMDocument.3.0");
	_ObjectCallMethod( d , "loadXML", "<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>");
_ObjectCallMethod( xmlgrid , "LoadXML", d);
_ObjectCallMethod( xmlgrid , "ExpandAll");

52
Is there a way to define a default Editor which is assigned to each node when the string is loaded (method 2)

// SelectionChanged event - Fires when the user changes the selection.
FUNCTION xmlgridEvents_SelectionChanged()
	' SelectedNode(0).Editor = "edit"

END

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
ObjectAssociateEvents("xmlgridEvents", xmlgrid);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Editors") , "Add", "edit",1);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 1");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 2");
	_ObjectSetProperty( node , "Picture", "pic1");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 102);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>3") , "Value", 103);
	_ObjectSetProperty( node , "Expanded", -1);

51
How can I specify a default editor

// AddNode event - Occurs when a node is added to the nodes collection.
FUNCTION xmlgridEvents_AddNode(OBJECT xmlgrid, OBJECT NewNode)
	' NewNode.Editor = "calc"

END

OBJECT xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
ObjectAssociateEvents("xmlgridEvents", xmlgrid);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Editors") , "Add", "calc",20);
_ObjectCallMethod( xmlgrid , "LoadXML", "<numbers><first_number>100</first_number><second_number>200</second_number></numbers>");
_ObjectCallMethod( xmlgrid , "ExpandAll");

50
Is there a way to define a default Editor which is assigned to each node when the string is loaded (method 1)

// AddNode event - Occurs when a node is added to the nodes collection.
FUNCTION xmlgridEvents_AddNode(OBJECT xmlgrid, OBJECT NewNode)
	' NewNode.Editor = "edit"

END

OBJECT xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
ObjectAssociateEvents("xmlgridEvents", xmlgrid);
_ObjectSetProperty( xmlgrid , "SelForeColorChild", 8421504);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Editors") , "Add", "edit",1);
_ObjectCallMethod( xmlgrid , "LoadXML", "http://www.exontrol.net/testing.xml");
_ObjectCallMethod( xmlgrid , "ExpandAll");

49
How can I assign editors to nodes

OBJECT editor,editors,node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "AllowDuplicateEntries", -1);
editors = _ObjectGetProperty( xmlgrid , "Editors");
	editor = _ObjectCallMethod( editors , "Add", "name",1);
		_ObjectSetProperty( editor , "Appearance", 4);
	editor = _ObjectCallMethod( editors , "Add", "phone",8);
		_ObjectSetProperty( editor , "Mask", "(###)-######");
		_ObjectSetProperty( editor , "Appearance", 4);
	editor = _ObjectCallMethod( editors , "Add", "date",7);
		_ObjectSetProperty( editor , "Appearance", 4);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Customer");
	_ObjectSetProperty( node , "Picture", "mihai");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Name","Mihai Filimon") , "Editor", "name");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Phone","(0744)-845287") , "Editor", "phone");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "BirthDay","12/31/1971") , "Editor", "date");
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 82");
_ObjectCallMethod( xmlgrid , "EndUpdate");

48
I use LoadXml, then inside onNodeAdd event, I add the picture. But the picture doesnt show up. Does the picture have to be a bitmap

// AddNode event - Occurs when a node is added to the nodes collection.
FUNCTION xmlgridEvents_AddNode(OBJECT xmlgrid, OBJECT NewNode)
	' NewNode.Picture = LoadPicture("c:\exontrol\images\colorize.gif")

END

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
ObjectAssociateEvents("xmlgridEvents", xmlgrid);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 1");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 102);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>3") , "Value", 103);
	_ObjectSetProperty( node , "Expanded", -1);

47
How can I assign a picture to a node ( method 3 )

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "HTMLPicture(`pic1`) = `c:\exontrol\images\zipdisk.gif`");
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 1");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 2");
	_ObjectSetProperty( node , "Picture", "pic1");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 102);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>3") , "Value", 103);
	_ObjectSetProperty( node , "Expanded", -1);

46
How can I save the control's content using a different version of XML DOM
OBJECT xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
d = CreateObject("Msxml2.DOMDocument.3.0");
_ObjectCallMethod( xmlgrid , "LoadXML", "<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>");
_ObjectCallMethod( xmlgrid , "SaveXML", d);
Message( _ObjectGetProperty( d , "xml") );
_ObjectCallMethod( xmlgrid , "ExpandAll");

45
How can I load the control's content using a different version of XML DOM
OBJECT d,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
d = CreateObject("Msxml2.DOMDocument.3.0");
	_ObjectSetProperty( d , "async", 0);
	_ObjectCallMethod( d , "loadXML", "<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>");
_ObjectCallMethod( xmlgrid , "LoadXML", d);
_ObjectCallMethod( xmlgrid , "ExpandAll");

44
How can I get the XML string from the control's content
OBJECT node,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
d = CreateObject("MSXML.DOMDocument");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Root");
	_ObjectSetProperty( node , "Image", 1);
	node = _ObjectCallMethod( _ObjectGetProperty( node , "Nodes") , "Add", "Child1");
		_ObjectSetProperty( node , "Image", 2);
		_ObjectSetProperty( node , "Value", "Value <b>1");
	node = _ObjectCallMethod( _ObjectGetProperty( node , "Nodes") , "Add", "Child2");
		_ObjectSetProperty( node , "Image", 2);
		_ObjectSetProperty( node , "Value", "Value <b>2");
_ObjectCallMethod( xmlgrid , "ExpandAll");
_ObjectCallMethod( xmlgrid , "ResizeToFit", 0);
_ObjectCallMethod( xmlgrid , "SaveXML", d);
Message( _ObjectGetProperty( d , "xml") );

43
How can I load the control from a XML DOM object

OBJECT d,ixmldomnamednodemap,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
d = CreateObject("Msxml2.DOMDocument.3.0");
	_ObjectCallMethod( d , "appendChild", _ObjectCallMethod( d , "createElement", "Root"));
	ixmldomnamednodemap = _ObjectCallMethod(xmlgrid, "ExecuteTemplate", "dObj.childNodes.item(0).attributes");
		_ObjectCallMethod( ixmldomnamednodemap , "setNamedItem", _ObjectCallMethod( d , "createAttribute", "Item-1"));
		_ObjectCallMethod(xmlgrid, "TemplatePut", "Dim ixmObj")
		_ObjectCallMethod(xmlgrid, "TemplatePut", ixmldomnamednodemap)
		_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ixmObj.item(0).value = `value <b>1`");
		_ObjectCallMethod( ixmldomnamednodemap , "setNamedItem", _ObjectCallMethod( d , "createAttribute", "Item-2"));
		_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ixmObj.item(1).value = `value <b>2`");
_ObjectCallMethod( xmlgrid , "LoadXML", d);
_ObjectCallMethod( xmlgrid , "ExpandAll");
_ObjectCallMethod( xmlgrid , "ResizeToFit", 0);
Message( _ObjectGetProperty( d , "xml") );

42
How can I load XML from http or URL

OBJECT xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "LoadXML", "http://www.exontrol.net/testing.xml");
_ObjectCallMethod( xmlgrid , "ExpandAll");

41
How can I load XML from a supplied string

OBJECT xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "LoadXML", "<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>");
_ObjectCallMethod( xmlgrid , "ExpandAll");

40
How do I programatically search for a node
OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 1");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 102);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 3");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Search(`Child 1`,-1).Selected = True");

39
How can I show the control's selection using your EBN technology

OBJECT appearance,node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
appearance = _ObjectGetProperty( xmlgrid , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"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");
	_ObjectCallMethod( appearance , "Add", 2,"gBFLBCJwBAEHhEJAEGg4BFIDg6AADACAxRDAMgBQKAAzQFAYahsGCGAAGIYxUgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjH" +
	"LUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDB" +
	"KTjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItSIrFqqaJma7ccgRDj4AY7Ua+czufBZbozOqDYzAey7TDWLRXFDNIzzTgQAyHHrETbHGqzFx" +
	"MAEa5YGqYpVj2HwzDuQ5oHKIQgggSRAlIYw6B0ThGFGDIAFUDAhBMfZRiGNAkFECZnG4IQdneJwmnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFS" +
	"b4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4P" +
	"GSY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDya" +
	"ICokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tE" +
	"sHJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQg" +
	"pDOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMhZKEwA5jC6SIyEqfh0kuD4MjAAAwcwBw0iKDwjlKVozmyChPDSThyiMDxGk6awbB6XY1iwfQInkPg0GMEAADE" +
	"dRDmcVovm8ex3FkPJrH0WJ5w4UAAkcMYMHOaxmjGTxNGcao1jWbYMkcAAMk2RJ7lycxMgMdpEHMTZMnuXBM7uMAOAG1jAED8HAQ47wGjDHgPwEI+RggcGOAmAAqxDj8D" +
	"oHMTY3BUi7GWPOCAKg3jIBOEIXggBAEBA");
_ObjectSetProperty( xmlgrid , "ShowFocusRect", 0);
_ObjectSetProperty( xmlgrid , "SelBackColor", 16777216);
_ObjectSetProperty( xmlgrid , "SelForeColor", -1);
_ObjectSetProperty( xmlgrid , "SelBackColorCollapse", 33554432);
_ObjectSetProperty( xmlgrid , "SelBackColorChild", -1);
_ObjectSetProperty( xmlgrid , "SelForeColorChild", -1);
_ObjectSetProperty( xmlgrid , "AllowDuplicateEntries", -1);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 1");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 102);
	_ObjectSetProperty( node , "Expanded", -1);
	_ObjectSetProperty( node , "Selected", -1);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 3");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 103);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 104);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 4");
_ObjectCallMethod( xmlgrid , "EndUpdate");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 96");

38
Is it possible to assing a picture to a node (method 2)

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "HTMLPicture(`pic1`) = `c:\exontrol\images\zipdisk.gif`");
_ObjectSetProperty( xmlgrid , "AlignChildContent", -1);
_ObjectSetProperty( xmlgrid , "AllowDuplicateEntries", -1);
_ObjectSetProperty( xmlgrid , "SelBackMode", 1);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 1");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 102);
	_ObjectCallMethod(xmlgrid, "TemplatePut", "Dim nodObj")
	_ObjectCallMethod(xmlgrid, "TemplatePut", node)
	_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(-1) = `left[18],client[text=`<img>pic1</img>`,align=0x20]`");
	_ObjectSetProperty( node , "Expanded", -1);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 3");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 103);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 104);
	_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(-1) = `left[18],client[text=`<img>pic1</img>`,align=0x20]`");
	_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(0) = `right[4],client[text=`<img>pic1:19</img>`,align=0x12]`");
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 4");
_ObjectCallMethod( xmlgrid , "EndUpdate");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 96");

37
Is it possible to assing a picture to a node (method 1)

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "HTMLPicture(`pic1`) = `c:\exontrol\images\zipdisk.gif`");
_ObjectSetProperty( xmlgrid , "AlignChildContent", -1);
_ObjectSetProperty( xmlgrid , "AllowDuplicateEntries", -1);
_ObjectSetProperty( xmlgrid , "SelBackMode", 1);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 1");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 2");
	_ObjectSetProperty( node , "Picture", _ObjectCallMethod(xmlgrid, "ExecuteTemplate", ".HTMLPicture(`pic1`)"));
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 102);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>3") , "Value", 103);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 3");
_ObjectCallMethod( xmlgrid , "EndUpdate");

36
I get "The key already exists" when adding a new node. What can I do ( method 2 )
OBJECT nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
nodes = _ObjectGetProperty( xmlgrid , "Nodes");
	_ObjectCallMethod( nodes , "Add", "Item","","Key1");
	_ObjectCallMethod( nodes , "Add", "Item","","Key2");
	_ObjectCallMethod( nodes , "Add", "Item","","Key3");
_ObjectCallMethod( xmlgrid , "EndUpdate");

35
I get "The key already exists" when adding a new node. What can I do ( method 1 )
OBJECT nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "AllowDuplicateEntries", -1);
nodes = _ObjectGetProperty( xmlgrid , "Nodes");
	_ObjectCallMethod( nodes , "Add", "Item");
	_ObjectCallMethod( nodes , "Add", "Item");
	_ObjectCallMethod( nodes , "Add", "Item");
_ObjectCallMethod( xmlgrid , "EndUpdate");

34
How can I mark the node only, without its child

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "AlignChildContent", -1);
_ObjectSetProperty( xmlgrid , "AllowDuplicateEntries", -1);
_ObjectSetProperty( xmlgrid , "SelBackMode", 1);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 1");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 102);
	_ObjectCallMethod(xmlgrid, "TemplatePut", "Dim nodObj")
	_ObjectCallMethod(xmlgrid, "TemplatePut", node)
	_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(-1) = `top[20,frame=RGB(0,0,0),framethick]`");
	_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(0) = BackgroundExt(-1)");
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 3");
_ObjectCallMethod( xmlgrid , "EndUpdate");

33
How can I mark the entire node

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "AlignChildContent", -1);
_ObjectSetProperty( xmlgrid , "AllowDuplicateEntries", -1);
_ObjectSetProperty( xmlgrid , "SelBackMode", 1);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 1");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 102);
	_ObjectCallMethod(xmlgrid, "TemplatePut", "Dim nodObj")
	_ObjectCallMethod(xmlgrid, "TemplatePut", node)
	_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(-1) = `[frame=RGB(0,0,0),framethick]`");
	_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(0) = BackgroundExt(-1)");
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent 3");
_ObjectCallMethod( xmlgrid , "EndUpdate");

32
How can I specify aditional information for a node, when it is expanded

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "AlignChildContent", -1);
_ObjectSetProperty( xmlgrid , "SelBackMode", 1);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		node = _ObjectCallMethod( nodes , "Add", "Child <b>1");
			_ObjectSetProperty( node , "Value", 100);
			_ObjectCallMethod(xmlgrid, "TemplatePut", "Dim nodObj")
			_ObjectCallMethod(xmlgrid, "TemplatePut", node)
			_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(0) = `top[2],bottom[2],left[2],right[2],client[pattern=6,frame]`");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 102);
	_ObjectCallMethod(xmlgrid, "TemplatePut", "Dim nodObj")
	_ObjectCallMethod(xmlgrid, "TemplatePut", node)
	_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(-1) = `top[4],bottom[4],left[17],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x20]`");
	_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(0) = `top[4],bottom[4],left[4],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x02]`");
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod( xmlgrid , "ResizeToFit", 0);
_ObjectCallMethod( xmlgrid , "EndUpdate");

31
Is it possible to show aditional information for a node

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "AlignChildContent", -1);
_ObjectSetProperty( xmlgrid , "SelBackMode", 1);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 102);
	_ObjectCallMethod(xmlgrid, "TemplatePut", "Dim nodObj")
	_ObjectCallMethod(xmlgrid, "TemplatePut", node)
	_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(-1) = `top[4],bottom[4],left[4],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x02]`");
	_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "nodObj.BackgroundExt(0) = BackgroundExt(-1)");
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod( xmlgrid , "ResizeToFit", 0);
_ObjectCallMethod( xmlgrid , "EndUpdate");

30
How can I hide the expanding bars under each parent node (method 2)

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(0) = -1");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(1) = -1");
_ObjectSetProperty( xmlgrid , "AlignChildContent", -1);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		node = _ObjectCallMethod( nodes , "Add", "Child <b>2");
			nodes = _ObjectGetProperty( node , "Nodes");
				_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.1") , "Value", 101);
				node = _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.2");
					nodes = _ObjectGetProperty( node , "Nodes");
						_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.1.1") , "Value", 101);
						_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.2.2") , "Value", 102);
					_ObjectSetProperty( node , "Expanded", 0);
			_ObjectSetProperty( node , "Expanded", -1);
	_ObjectSetProperty( node , "Selected", -1);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 64");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(1) = 96");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(2) = 96");
_ObjectCallMethod( xmlgrid , "EndUpdate");

29
How can I align the child nodes

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectSetProperty( xmlgrid , "AlignChildContent", -1);
nodes = _ObjectGetProperty( xmlgrid , "Nodes");
	_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Parent A") , "Value", 100);
	node = _ObjectCallMethod( nodes , "Add", "Parent B");
		nodes = _ObjectGetProperty( node , "Nodes");
			_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>1") , "Value", 101);
			_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>2") , "Value", 102);
			node = _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>3");
				nodes = _ObjectGetProperty( node , "Nodes");
					_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Node<font ;6><off -4><b>1") , "Value", 103);
					_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Node<font ;6><off -4><b>2") , "Value", 104);
		_ObjectSetProperty( node , "Expanded", -1);
		_ObjectSetProperty( node , "Selected", -1);

28
How do I change the control's visual appearance using the UI Visual Designer
OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "AllowDuplicateEntries", -1);
_ObjectSetProperty( xmlgrid , "ShowFocusRect", 0);
_ObjectSetProperty( xmlgrid , "GridLinesColor", 8421504);
nodes = _ObjectGetProperty( xmlgrid , "Nodes");
	node = _ObjectCallMethod( nodes , "Add", "Parent A");
		nodes = _ObjectGetProperty( node , "Nodes");
			_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>1") , "Value", 100);
			_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>2") , "Value", 101);
			node = _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>3");
				nodes = _ObjectGetProperty( node , "Nodes");
					_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Node<font ;6><off -4><b>1") , "Value", 102);
					_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Node<font ;6><off -4><b>2") , "Value", 103);
		_ObjectSetProperty( node , "Expanded", -1);
		_ObjectSetProperty( node , "Selected", -1);
	_ObjectCallMethod( _ObjectGetProperty( _ObjectCallMethod( nodes , "Add", "Parent B") , "Nodes") , "Add", 1);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 96");
_ObjectSetProperty( xmlgrid , "VisualDesign", "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");
_ObjectCallMethod( xmlgrid , "EndUpdate");

27
How do I specify to search for name of the nodes only, when the user filters the control

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "FilterBarPromptVisible", -1);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>2") , "Value", 101);
		nodes = _ObjectGetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>3") , "Nodes");
			_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Node<font ;6><off -4><b>1") , "Value", 102);
			_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Node<font ;6><off -4><b>2") , "Value", 103);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectSetProperty( xmlgrid , "AutoSearch", 1);
_ObjectSetProperty( xmlgrid , "FilterBarPromptType", 35);
_ObjectSetProperty( xmlgrid , "FilterBarPromptPattern", "No");
_ObjectCallMethod( xmlgrid , "EndUpdate");

26
Is it possible to include child-nodes, when do filtering

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "FilterBarPromptVisible", -1);
_ObjectSetProperty( xmlgrid , "HideSelection", 1);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>2") , "Value", 101);
		nodes = _ObjectGetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>3") , "Nodes");
			_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Node<font ;6><off -4><b>1") , "Value", 102);
			_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Node<font ;6><off -4><b>2") , "Value", 103);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectSetProperty( xmlgrid , "AutoSearch", 3);
_ObjectSetProperty( xmlgrid , "FilterBarPromptType", 226);
_ObjectSetProperty( xmlgrid , "FilterBarPromptPattern", "Child3");
_ObjectCallMethod( xmlgrid , "EndUpdate");

25
How can I change the control's filtering so it searches for Contains rather than Start

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "FilterBarPromptVisible", -1);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>2") , "Value", 101);
		nodes = _ObjectGetProperty( _ObjectCallMethod( nodes , "Add", "Child<font ;6><off -4><b>3") , "Nodes");
			_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Node<font ;6><off -4><b>1") , "Value", 102);
			_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Node<font ;6><off -4><b>2") , "Value", 103);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectSetProperty( xmlgrid , "AutoSearch", 3);
_ObjectSetProperty( xmlgrid , "FilterBarPromptType", 98);
_ObjectSetProperty( xmlgrid , "FilterBarPromptPattern", "Child3");
_ObjectCallMethod( xmlgrid , "EndUpdate");

24
How do I enable the control's filtering support

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "FilterBarPromptVisible", -1);
_ObjectSetProperty( xmlgrid , "HideSelection", 1);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 101);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>3") , "Value", 102);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod( xmlgrid , "EndUpdate");

23
How can I hide the expanding bars under each parent node (method 1)

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAChABDEMACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzX" +
	"IUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2Prh" +
	"TSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4" +
	"kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmSc55j0PhfF8eYHlwQZ2nQTImDsFRaioVB9j8Hx/k+c53n4fogAeTJFHuXY3HCTAygyAociMKBKEKBIeCiCZyHYEAnCEOBUh+" +
	"BQhBgNIegKCgYBySAgh2SAUgINAMmMNIgCcCYjn4KoKmKSI2C6CpiHIagkDMYgCAoIg1A0IxEhsJgJFiPg+g+Y4yFYOA0GMWIIloNhNGIaIXCUI5CE4SwkEkchOFCFIl" +
	"BkThQCUCQZDYSglCQcxaEUX5IBmBJhDeDZZDYOwlgmQhghaGZmkmKhnhoZo5ioTYYk2WYEgEYAnGOGJlDkCQyECDqfCkNoCCUSQ6A6BYhCgCZ0g6HoOEmWR9GFYw4m0O" +
	"wIlIJIHCRc4shGJhpjoaocieaZiC6GAimkUgehIOwnGYEYGGiah6jaE4rg6SpCjKK5rEOMYjGGGIChKOgglmdoij6L5aEYfo6CkGIEAQgIA==");
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "VisualAppearance") , "Add", 2,"gBFLBCJwBAEHhEJAAChABC0MACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzX" +
	"IUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2Prh" +
	"TSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4" +
	"kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmQf56D0PhPF+G5Fl4YZ3BAfY9BMKYOkUVoqhUH4PleZ53mkehfjgBZ9H4XxTBWcR2l2QwwkoMgKHKDIhCkCgSHiIgnkmWBMhw" +
	"f5egglInGEAh6A0KBgiMIICHdLIIlAM4MlKAIcCaIYIjYLoLGKIhqCcMxiR8JQ1A0IxEhsJgJFiPg+guI4yFYOA0GMWIUloNhNGIaIXCUI5CE4SwkEkchMhGCxlBkQIU" +
	"CQZJZCiFIRk0aQVH8IBmAOBJeDcZJYmyFgnAmAhaGaCxmGmIhqhoZJZgiXYYAgFgCHQOYOFOEITCQCJpCyEoTVUNoACUZJiFCEoekiaZgmSHQXlYEh0DuDpTjCDQiEgc" +
	"hAg0IpJBoXoZiYKYqHaHAimkYguhMIZpAOMh0GEGBmg6JYqmkGowmyK4rAqNoyDsGg2BmCApCuAgNh8agrkqdYkGea4ChGCBAEAgI");
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "VisualAppearance") , "Add", 3,"gBFLBCJwBAEHhEJAAChABa8GACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIzkKJpAAiCRQGiYZyHKcxMYgQrAZBEbKMLwrAYUIRCCaof" +
	"AAGIaRDIcZPXQjZSMdSkHRpKi6Mo2TpPUpSDpUM6VCL3KhqKxXeq1cp2XpfWBYNhVbTafyyaiqKiSWy0EQRBSDXBcNxXHalazhNpCbTSWoqLrhRzDMCwC6rUwCeYJQzC" +
	"cLxLCcMwjA5/MDeFLXCwjBJ+W5aFhzBYsbx1NKcZ7nWgaAqOKp/OKnECuBh2EYNMywK5rew7BqTf5tW7ZNx2TYNMYPKiDajcDJMOwqWpUVDjOQ4fidXzfSbPcrxfBsLp" +
	"/FOKhmDKGQKHUGoFEiIRPCiE5pl8ChzhuNpyHgU49mSdxtEOWBkCCNRdGQExBhyTRQCcExeG+X5zneeAmh8Uw1nEIIfDMUJSDQSYyGCFR/GCR5yAkJRgGMRgDHyTYjGS" +
	"VgmgkchSAoJJhhIRIXCSSQXm4H4HgkQhGBuBgJEgVJWgSVJSAYLg4E2Yx2BuAhJGIcIYCWIxHm4NINiOCJeBuDANliOIBFOJAjhiZQ5AkMhAg6BhJCgbgbH6ZJiFYHAl" +
	"AkKQkg6EYOEkCRLFTQw4m0OwIlIJIHCRVAshGGRmHmGhohqZoiC4ZAimYEgeF4OwkCUSRUFwZw5mYX4eg6SZyH6HpoAOMRxFUFRihKBgglaVZagqIpXCWNoGCkFRkAQg" +
	"I");
_ObjectSetProperty( xmlgrid , "HideSelection", 1);
_ObjectSetProperty( xmlgrid , "ExpandButtons", 3);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ExpandButtonsCustom(True) = 16777216");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ExpandButtonsCustom(False) = 33554432");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(0) = 50331648");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(1) = 50331648");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		node = _ObjectCallMethod( nodes , "Add", "Child <b>2");
			nodes = _ObjectGetProperty( node , "Nodes");
				_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.1") , "Value", 101);
				node = _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.2");
					nodes = _ObjectGetProperty( node , "Nodes");
						_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.1.1") , "Value", 101);
						_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.2.2") , "Value", 102);
					_ObjectSetProperty( node , "Expanded", 0);
			_ObjectSetProperty( node , "Expanded", -1);
	_ObjectSetProperty( node , "Selected", -1);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 64");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(1) = 96");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(2) = 96");
_ObjectCallMethod( xmlgrid , "EndUpdate");

22
How can I change the visual appearance for expand/collapse buttons

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAChABDEMACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzX" +
	"IUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2Prh" +
	"TSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4" +
	"kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmSc55j0PhfF8eYHlwQZ2nQTImDsFRaioVB9j8Hx/k+c53n4fogAeTJFHuXY3HCTAygyAociMKBKEKBIeCiCZyHYEAnCEOBUh+" +
	"BQhBgNIegKCgYBySAgh2SAUgINAMmMNIgCcCYjn4KoKmKSI2C6CpiHIagkDMYgCAoIg1A0IxEhsJgJFiPg+g+Y4yFYOA0GMWIIloNhNGIaIXCUI5CE4SwkEkchOFCFIl" +
	"BkThQCUCQZDYSglCQcxaEUX5IBmBJhDeDZZDYOwlgmQhghaGZmkmKhnhoZo5ioTYYk2WYEgEYAnGOGJlDkCQyECDqfCkNoCCUSQ6A6BYhCgCZ0g6HoOEmWR9GFYw4m0O" +
	"wIlIJIHCRc4shGJhpjoaocieaZiC6GAimkUgehIOwnGYEYGGiah6jaE4rg6SpCjKK5rEOMYjGGGIChKOgglmdoij6L5aEYfo6CkGIEAQgIA==");
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "VisualAppearance") , "Add", 2,"gBFLBCJwBAEHhEJAAChABC0MACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzX" +
	"IUBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2Prh" +
	"TSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4" +
	"kjGY4vnQeAEBaCYOkQYYslYCpvA+D5FmQf56D0PhPF+G5Fl4YZ3BAfY9BMKYOkUVoqhUH4PleZ53mkehfjgBZ9H4XxTBWcR2l2QwwkoMgKHKDIhCkCgSHiIgnkmWBMhw" +
	"f5egglInGEAh6A0KBgiMIICHdLIIlAM4MlKAIcCaIYIjYLoLGKIhqCcMxiR8JQ1A0IxEhsJgJFiPg+guI4yFYOA0GMWIUloNhNGIaIXCUI5CE4SwkEkchMhGCxlBkQIU" +
	"CQZJZCiFIRk0aQVH8IBmAOBJeDcZJYmyFgnAmAhaGaCxmGmIhqhoZJZgiXYYAgFgCHQOYOFOEITCQCJpCyEoTVUNoACUZJiFCEoekiaZgmSHQXlYEh0DuDpTjCDQiEgc" +
	"hAg0IpJBoXoZiYKYqHaHAimkYguhMIZpAOMh0GEGBmg6JYqmkGowmyK4rAqNoyDsGg2BmCApCuAgNh8agrkqdYkGea4ChGCBAEAgI");
_ObjectSetProperty( xmlgrid , "HideSelection", 1);
_ObjectSetProperty( xmlgrid , "ExpandButtons", 3);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ExpandButtonsCustom(True) = 16777216");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ExpandButtonsCustom(False) = 33554432");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		node = _ObjectCallMethod( nodes , "Add", "Child <b>2");
			nodes = _ObjectGetProperty( node , "Nodes");
				_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.1") , "Value", 101);
				node = _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.2");
					nodes = _ObjectGetProperty( node , "Nodes");
						_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.1.1") , "Value", 101);
						_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.2.2") , "Value", 102);
					_ObjectSetProperty( node , "Expanded", 0);
			_ObjectSetProperty( node , "Expanded", -1);
	_ObjectSetProperty( node , "Selected", -1);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 64");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(1) = 96");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(2) = 96");
_ObjectCallMethod( xmlgrid , "EndUpdate");

21
Does your control support transparent selection

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "SelBackMode", 1);
_ObjectSetProperty( xmlgrid , "SelBackColorChild", _ObjectGetProperty( xmlgrid , "SelBackColor"));
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		node = _ObjectCallMethod( nodes , "Add", "Child <b>2");
			nodes = _ObjectGetProperty( node , "Nodes");
				_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.1") , "Value", 101);
				node = _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.2");
					nodes = _ObjectGetProperty( node , "Nodes");
						_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.1.1") , "Value", 101);
						_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Sub Child <b>2.2.2") , "Value", 102);
					_ObjectSetProperty( node , "Expanded", -1);
			_ObjectSetProperty( node , "Expanded", -1);
	_ObjectSetProperty( node , "Selected", -1);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 64");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(1) = 96");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(2) = 96");
_ObjectCallMethod( xmlgrid , "EndUpdate");

20
How can I show the selection with some transparent marker

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
_ObjectSetProperty( xmlgrid , "AllowDuplicateEntries", -1);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 101);
	_ObjectSetProperty( node , "Selected", -1);
	_ObjectSetProperty( node , "Expanded", -1);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 101);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 64");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(1) = 96");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(2) = 96");
_ObjectSetProperty( xmlgrid , "ShowFocusRect", 0);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAChABdcGACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJhGBQxAJCI4DBCIZBwGKQBjASQpUhqHYDTbIMByB" +
	"IUIxMGiYIRoGAxTiAMo8RrSEZTdD8ExTAZ/XzfMAKRpOFo/ULEUw0NR8aRABiNQbkWjYDp1f5nVRaFTxYKoSxbNqIRpGCzoJrKdI1SBEMTWBAddSdBKzX7tHArLgSQJd" +
	"SrLMrzDIka4cACcZxkCioXozBpZVjRMaZJC2KAbMaBQgsQALGqjAaVUJQEgZTTmHS/BLPYDsLQdDyXAqnYTkFwWZa4ATtOK5b6jK6dQgmfAAaJGWzYHpGL4QGCYZKGap" +
	"MgsKaVmwYp8j2RoCCWB4VHQIQjD6FIjF2RpumyewRj6XYrjoMpdk4Pgbm4DZXmmSpRnWeJ9hiN4zAkSRCECBAkFAGhGDGUB1ByBhVGUCxAkQIQ2AsRZRFQDAoEIXoXCU" +
	"IQGBSNg9BoYBNjMbJ/DGTBznyQAwCIKISCOCRigiHgqgmIhIgCfw3k2dgFn6DAihiMg1g2Yo4mINoNBCEwMkOCgPDOTgyhCZBJBYRIQTGmYOGQaQ2E6EQjhkLg2hOZRJ" +
	"DoURAmSSRWFqEJlHAAhZhaZgJHYX4YCWKYKFOGQljmGgohoJoYloUoambTxqgmZwZkoboWCYeZWFaHaOBDRIkCmahDhIIh5nmfoHGOKgmDmIpjGiHoIEIVQjnyXA3A+c" +
	"wgkiIooloZgoiWD5zgCYIMhCFAEIC");
_ObjectSetProperty( xmlgrid , "SelBackColor", 16777216);
_ObjectSetProperty( xmlgrid , "SelForeColor", -1);
_ObjectSetProperty( xmlgrid , "SelBackColorChild", -1);
_ObjectSetProperty( xmlgrid , "SelForeColorChild", -1);
_ObjectCallMethod( xmlgrid , "EndUpdate");

19
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 3)

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 101);
	_ObjectSetProperty( node , "Selected", -1);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 64");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(1) = 96");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(2) = 96");
_ObjectSetProperty( xmlgrid , "ShowFocusRect", 0);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAChABGYDg6AADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjAIoBQ4GACJBmKKodgONYYTLFYCwT" +
	"JETw5FKEZTEWQBTjGOY5TbNcgUPCMex7IiVJYpOK6ThqTYfQjLUBvfTgAS4f6Laaneg4JDOUYtTjIADRWBMeSxAatK6rWr7BqOYoDUJZcQyDIcNzXAa9aLjO5wAiWPp4" +
	"VJZM54FKVEzfQSrZqoDIrEgOZpBYjMdSgADFXQGDbHbhuS5IWwTBpQZhaGZQTb+mZtZ7oMI6HTuSztW7EMLAC6bJx7LoDazoGKSDo0TZRXLNYqzPIdf4OVq4YTxVi2PZ" +
	"GnmLJfGwOY8m2NhTAmPJcmAZBbmiDo3DuW4ZEgAQQhKAYkkYdA6hyDIjBkAIqBgQgmn0YxRFgGIjF8CRwhOB4ZAkPQdFYMRfCsYICFYCgkEkEhCA0JDeEICglgqYo0i4" +
	"XQMEgZI9gaToYHSb4Hk6Y4+CGB5hlOJgbC8TBoiQAArgqco4muC5OkOMJtguYxIlYMg7GME4uC0K4AAKKg+DwJADiCZw5k6KQWEaEYOHkChADwI5izIKwKjKzQ8E8A4i" +
	"FaEYOjOMgvhEZRjiIVA8CUEouE9SRJEycoWCMCJmFvUAzkYZArAACAgi0PInEkGhauKCYsmqHQPCmSAAgsSp5lCc4dg6WgUm6DkQhicw8g8OiDiwKQDk6EoNCgU40m6J" +
	"ZpFiUoSDyaQCokLIqAobh3iWKRogaB4MmWKhsjMLJLCAAorCyagokYIoImsM46DEOwPEoSovABZR0nSL5pFgfgfhALAqFaPw9CuUrgC2CxSlidQ9E8SoSkSEpsZXj5LF" +
	"sNAAC2bZLDydYwiaW4GFOMIPGsPpcC2QACmSOQuA8a42EvYoZnKcVsAOPJwD0bpSmKagAAuO52m0PYsCmcoLkCLhLjSOwuguIAAjyQpvnkLobkOaQpC6f5CkuQAAj6Bp" +
	"PHwZwCkQKYzkqcQ9k8Y5cj2RejH8JpGE8eZykeSprnmcwoC+TADAAAJMEwA5jDaSoyksHh8rmDLgDBzoHDyJIPCOUpejWbQKG8PJQHMIwPE6UJrhsPpljeLJ9CieQ+DS" +
	"YwQAAMR1kOZxejGb57hcYQ8mufR4nmVwMFAAJHDGDBzmsbozk8TYHHKN42G2LJHAADJNmSe5enOTIjH6Rhzk2Nke4vBMt8GAHADY5wbgUD8HEQ47wOjHHiPwMI+RigcG" +
	"OAmAorgjj8EIHMTY3B0i7GePQDoBwdBvGSCcIQ6BACAIC");
_ObjectSetProperty( xmlgrid , "SelBackColor", 16777216);
_ObjectSetProperty( xmlgrid , "SelForeColor", -1);
_ObjectSetProperty( xmlgrid , "SelBackColorChild", -1);
_ObjectSetProperty( xmlgrid , "SelForeColorChild", -1);
_ObjectCallMethod( xmlgrid , "EndUpdate");

18
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 2)

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 101);
	_ObjectSetProperty( node , "Selected", -1);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 64");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(1) = 96");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(2) = 96");
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAChABJUIQAAYAQGKIaBoAKBQAGaAoDDQMw1QwAAwjSK0EwsACEIrjKCRShyCYZRhGcTSAAUEhiGKQBgiGDhViWAwyDABEbwS78agBFyRlqyfKcc" +
	"x9DaAQEBA");
_ObjectSetProperty( xmlgrid , "ShowFocusRect", 0);
_ObjectSetProperty( xmlgrid , "SelBackColor", 27304096);
_ObjectSetProperty( xmlgrid , "SelForeColor", -1);
_ObjectSetProperty( xmlgrid , "SelBackColorChild", -1);
_ObjectSetProperty( xmlgrid , "SelForeColorChild", -1);
_ObjectCallMethod( xmlgrid , "EndUpdate");

17
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 1)

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>1") , "Value", 100);
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child <b>2") , "Value", 101);
	_ObjectSetProperty( node , "Selected", -1);
	_ObjectSetProperty( node , "Expanded", -1);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(0) = 64");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(1) = 96");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "LevelWidth(2) = 96");
_ObjectSetProperty( xmlgrid , "HideSelection", 1);
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAChABdcGACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJhGBQxAJCI4DBCIZBwGKQBjASQpUhqHYDTbIMByB" +
	"IUIxMGiYIRoGAxTiAMo8RrSEZTdD8ExTAZ/XzfMAKRpOFo/ULEUw0NR8aRABiNQbkWjYDp1f5nVRaFTxYKoSxbNqIRpGCzoJrKdI1SBEMTWBAddSdBKzX7tHArLgSQJd" +
	"SrLMrzDIka4cACcZxkCioXozBpZVjRMaZJC2KAbMaBQgsQALGqjAaVUJQEgZTTmHS/BLPYDsLQdDyXAqnYTkFwWZa4ATtOK5b6jK6dQgmfAAaJGWzYHpGL4QGCYZKGap" +
	"MgsKaVmwYp8j2RoCCWB4VHQIQjD6FIjF2RpumyewRj6XYrjoMpdk4Pgbm4DZXmmSpRnWeJ9hiN4zAkSRCECBAkFAGhGDGUB1ByBhVGUCxAkQIQ2AsRZRFQDAoEIXoXCU" +
	"IQGBSNg9BoYBNjMbJ/DGTBznyQAwCIKISCOCRigiHgqgmIhIgCfw3k2dgFn6DAihiMg1g2Yo4mINoNBCEwMkOCgPDOTgyhCZBJBYRIQTGmYOGQaQ2E6EQjhkLg2hOZRJ" +
	"DoURAmSSRWFqEJlHAAhZhaZgJHYX4YCWKYKFOGQljmGgohoJoYloUoambTxqgmZwZkoboWCYeZWFaHaOBDRIkCmahDhIIh5nmfoHGOKgmDmIpjGiHoIEIVQjnyXA3A+c" +
	"wgkiIooloZgoiWD5zgCYIMhCFAEIC");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(19) = 16777216");
_ObjectCallMethod( xmlgrid , "EndUpdate");

16
How do I enable the scrollbar-extension, as thumb to be shown outside of the control's client area

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "BeginUpdate");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <font ;6><off 4>1");
	nodes = _ObjectGetProperty( node , "Nodes");
		node = _ObjectCallMethod( nodes , "Add", "Child 1");
			_ObjectSetProperty( node , "Value", "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectCallMethod( node , "ExpandAll");
nodes = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <font ;6><off 4>2") , "Nodes");
	_ObjectCallMethod( nodes , "Add", "Child 1");
	_ObjectCallMethod( nodes , "Add", "Child 2");
_ObjectSetProperty( xmlgrid , "ScrollBars", 3);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ScrollPartVisible(0,65536) = True");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ScrollPartVisible(1,65536) = True");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ScrollPartVisible(2,65536) = True");
_ObjectSetProperty( xmlgrid , "ScrollWidth", 4);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(276) = 15790320");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(260) = 8421504");
_ObjectSetProperty( xmlgrid , "ScrollHeight", 4);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(404) = Background(276)");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(388) = Background(260)");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(511) = Background(276)");
_ObjectCallMethod( xmlgrid , "EndUpdate");

15
Does your control support Fit-To-Page, Print and Print-Preview

OBJECT createobject("exontrol.print"),node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>1");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child 1") , "Selected", -1);
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectCallMethod( node , "ExpandAll");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectCallMethod( nodes , "Add", "Child 1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectSetProperty( createobject("exontrol.print") , "Options", "FitToPage = 1x1");
	_ObjectSetProperty( createobject("exontrol.print") , "PrintExt", xmlgrid);
	_ObjectCallMethod( createobject("exontrol.print") , "Preview");

14
How do I print the control
OBJECT createobject("exontrol.print"),node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>1");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child 1") , "Selected", -1);
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectCallMethod( node , "ExpandAll");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectCallMethod( nodes , "Add", "Child 1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
createobject("exontrol.print") = CreateObject("Exontrol.Print");
	_ObjectSetProperty( createobject("exontrol.print") , "PrintExt", xmlgrid);
	_ObjectCallMethod( createobject("exontrol.print") , "Preview");

13
How can we can customize a context menu based on the node type

// MouseUp event - Occurs when the user releases a mouse button.
FUNCTION xmlgridEvents_MouseUp(OBJECT xmlgrid, INT Button, INT Shift, INT X, INT Y)
	OBJECT createobject("exontrol.contextmenu");
	_ObjectCallMethod(xmlgrid, "TemplatePut", "Dim X,Y")
	_ObjectCallMethod(xmlgrid, "TemplatePut", X)
	_ObjectCallMethod(xmlgrid, "TemplatePut", Y)
	Message( "Node:" );
	Message( _ObjectCallMethod(xmlgrid, "ExecuteTemplate", "NodeFromPoint(X,Y)") );
	createobject("exontrol.contextmenu") = CreateObject("Exontrol.ContextMenu");
		_ObjectSetProperty( _ObjectGetProperty( createobject("exontrol.contextmenu") , "Items") , "ToString", "Calendar[id=20][img=0],MSChart[id=30],Record[id=40],Slider[id=50],Radio 1[id=100][typ=2][edit=],Radio 2[id=101][typ=2][edit=],R" +
		"adio 3[id=102][typ=2][edit=],ComboBox[id=90]");
		Message( _ObjectCallMethod( createobject("exontrol.contextmenu") , "Select", ) );
END

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
ObjectAssociateEvents("xmlgridEvents", xmlgrid);
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectCallMethod( nodes , "Add", "Child 1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectSetProperty( node , "Expanded", -1);

12
How we can attach a customized editor, for example, a date-time picker dialog for a date-time attribute using eXMLGrid

// UserEditorClose event - Fired the user editor is about to be opened.
FUNCTION xmlgridEvents_UserEditorClose(OBJECT xmlgrid, OBJECT Object, OBJECT Node)
	' Node.Value = Object.Value

END

// UserEditorOpen event - Occurs when an user editor is about to be opened.
FUNCTION xmlgridEvents_UserEditorOpen(OBJECT xmlgrid, OBJECT Object, OBJECT Node)
	' Object.Value = Node.Value

END

OBJECT calendarcombo,editor,editors,node,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
ObjectAssociateEvents("xmlgridEvents", xmlgrid);
_ObjectSetProperty( xmlgrid , "NodeHeight", 24);
editors = _ObjectGetProperty( xmlgrid , "Editors");
	editor = _ObjectCallMethod( editors , "Add", "ExCalendarUserEditor",16);
		_ObjectCallMethod( editor , "UserEditor", "ExCalendar.CalendarCombo","");
		calendarcombo = _ObjectGetProperty( editor , "UserEditorObject");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Date");
	_ObjectSetProperty( node , "Editor", "ExCalendarUserEditor");
	_ObjectSetProperty( node , "Value", "1/1/2001");

11
How can change the visual appearance of the expand/collapse buttons

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "VisualAppearance") , "Add", 1,"c:\exontrol\images\normal.ebn");
_ObjectCallMethod( _ObjectGetProperty( xmlgrid , "VisualAppearance") , "Add", 2,"c:\exontrol\images\pushed.ebn");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>1");
	nodes = _ObjectGetProperty( node , "Nodes");
		node = _ObjectCallMethod( nodes , "Add", "Child 1");
			_ObjectSetProperty( node , "Value", "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1");
			_ObjectSetProperty( node , "Selected", -1);
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectCallMethod( node , "ExpandAll");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectCallMethod( nodes , "Add", "Child 1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
_ObjectSetProperty( xmlgrid , "ExpandBarVisible", -1);
_ObjectSetProperty( xmlgrid , "ExpandButtons", 3);
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ExpandButtonsCustom(False) = 1");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ExpandButtonsCustom(True) = 2");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(1) = 25198720");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(0) = 16777216");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(3) = 41975936");
_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "Background(2) = 33554432");
_ObjectSetProperty( xmlgrid , "ShowFocusRect", 0);
_ObjectSetProperty( xmlgrid , "SelBackColor", 0);
_ObjectSetProperty( xmlgrid , "SelBackColorChild", _ObjectGetProperty( xmlgrid , "SelBackColor"));
_ObjectSetProperty( xmlgrid , "SelForeColor", 16777215);
_ObjectSetProperty( xmlgrid , "SelForeColorChild", _ObjectGetProperty( xmlgrid , "SelForeColor"));

10
How can change the visual appearance of the selected node

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>1");
	nodes = _ObjectGetProperty( node , "Nodes");
		node = _ObjectCallMethod( nodes , "Add", "Child 1");
			_ObjectSetProperty( node , "Value", "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1");
			_ObjectSetProperty( node , "Selected", -1);
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectCallMethod( node , "ExpandAll");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectCallMethod( nodes , "Add", "Child 1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
_ObjectSetProperty( xmlgrid , "ShowFocusRect", 0);
_ObjectSetProperty( xmlgrid , "SelBackColor", 0);
_ObjectSetProperty( xmlgrid , "SelBackColorChild", _ObjectGetProperty( xmlgrid , "SelBackColor"));
_ObjectSetProperty( xmlgrid , "SelForeColor", 16777215);
_ObjectSetProperty( xmlgrid , "SelForeColorChild", _ObjectGetProperty( xmlgrid , "SelForeColor"));

9
How can I select programatically a node

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>1");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectSetProperty( _ObjectCallMethod( nodes , "Add", "Child 1") , "Selected", -1);
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectCallMethod( node , "ExpandAll");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <b>2");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectCallMethod( nodes , "Add", "Child 1");
		_ObjectCallMethod( nodes , "Add", "Child 2");

8
How can I expand all nodes

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectCallMethod( nodes , "Add", "Child 1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectCallMethod( node , "ExpandAll");

7
Does your control support subscript or superscript

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <font ;6><off 4>1");
	nodes = _ObjectGetProperty( node , "Nodes");
		node = _ObjectCallMethod( nodes , "Add", "Child 1");
			_ObjectSetProperty( node , "Value", "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectCallMethod( node , "ExpandAll");
nodes = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent <font ;6><off 4>2") , "Nodes");
	_ObjectCallMethod( nodes , "Add", "Child 1");
	_ObjectCallMethod( nodes , "Add", "Child 2");

6
How can I add a UserType editor ( ActiveX )

// UserEditorClose event - Fired the user editor is about to be opened.
FUNCTION xmlgridEvents_UserEditorClose(OBJECT xmlgrid, OBJECT Object, OBJECT Node)
	' Node.Value = Object.Value

END

// UserEditorOpen event - Occurs when an user editor is about to be opened.
FUNCTION xmlgridEvents_UserEditorOpen(OBJECT xmlgrid, OBJECT Object, OBJECT Node)
	' Object.Value = Node.Value

END

OBJECT column,columns,combobox,editor,editors,items,node,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
ObjectAssociateEvents("xmlgridEvents", xmlgrid);
_ObjectSetProperty( xmlgrid , "NodeHeight", 24);
editors = _ObjectGetProperty( xmlgrid , "Editors");
	editor = _ObjectCallMethod( editors , "Add", "ExComboUserEditor",16);
		_ObjectCallMethod( editor , "UserEditor", "Exontrol.ComboBox","");
		combobox = _ObjectGetProperty( editor , "UserEditorObject");
			_ObjectSetProperty( combobox , "MinHeightList", 164);
			_ObjectSetProperty( combobox , "MinWidthList", 264);
			_ObjectSetProperty( combobox , "AllowSizeGrip", -1);
			_ObjectSetProperty( combobox , "IntegralHeight", -1);
			_ObjectSetProperty( combobox , "Alignment", 0);
			_ObjectSetProperty( combobox , "ColumnAutoResize", -1);
			_ObjectCallMethod( combobox , "BeginUpdate");
			_ObjectSetProperty( combobox , "MarkSearchColumn", 0);
			columns = _ObjectGetProperty( combobox , "Columns");
				column = _ObjectCallMethod( columns , "Add", "Car");
					_ObjectSetProperty( column , "Width", 32);
					_ObjectSetProperty( column , "DisplayFilterButton", -1);
				column = _ObjectCallMethod( columns , "Add", "Equipment");
					_ObjectSetProperty( column , "DisplayFilterButton", -1);
					_ObjectSetProperty( column , "DisplayFilterPattern", 0);
					_ObjectSetProperty( column , "CustomFilter", "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*");
					_ObjectSetProperty( column , "FilterType", 3);
			items = _ObjectGetProperty( combobox , "Items");
				_ObjectCallMethod(xmlgrid, "TemplatePut", "Dim iteObj")
				_ObjectCallMethod(xmlgrid, "TemplatePut", items)
				_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Mazda`),1) = `Air Bag`");
				_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Toyota`),1) = `Air Bag,Air condition`");
				_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Ford`),1) = `Air condition`");
				_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "iteObj.CellCaption(AddItem(`Nissan`),1) = `Air Bag,ABS,ESP`");
			_ObjectCallMethod( combobox , "EndUpdate");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Car");
	_ObjectSetProperty( node , "Editor", "ExComboUserEditor");
	_ObjectSetProperty( node , "Value", "Mazda");

5
How can I load a XML file

OBJECT xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
_ObjectCallMethod( xmlgrid , "LoadXML", "C:\Windows\Ultimate.xml");

4
How can I assign a tooltip to a node

OBJECT node,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Title");
	_ObjectSetProperty( node , "Value", "value");
	_ObjectSetProperty( node , "ToolTip", "This is a bit of <b>HTML</b> text to be shown when the cursor hovers the node.");

3
How can I edit the node using a DateType editor

OBJECT editor,editors,node,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
editors = _ObjectGetProperty( xmlgrid , "Editors");
	editor = _ObjectCallMethod( editors , "Add", "DateEditor",7);
		_ObjectCallMethod(xmlgrid, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(xmlgrid, "TemplatePut", editor)
		_ObjectCallMethod(xmlgrid, "ExecuteTemplate", "ediObj.Option(34) = True");
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Date");
	_ObjectSetProperty( node , "Editor", "DateEditor");
	_ObjectSetProperty( node , "Value", "1/1/2001");

2
How can I expand a node

OBJECT node,nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
node = _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent");
	nodes = _ObjectGetProperty( node , "Nodes");
		_ObjectCallMethod( nodes , "Add", "Child 1");
		_ObjectCallMethod( nodes , "Add", "Child 2");
	_ObjectSetProperty( node , "Expanded", -1);

1
How can I add a node

OBJECT nodes,xmlgrid;

xmlgrid =  ObjectByName("AN1") ;
nodes = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( xmlgrid , "Nodes") , "Add", "Parent") , "Nodes");
	_ObjectCallMethod( nodes , "Add", "Child 1");
	_ObjectCallMethod( nodes , "Add", "Child 2");