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. ***
LPARAMETERS nop
	*** SelectedNode(0).Editor = "edit"

with thisform.XMLGrid1
	.Editors.Add("edit",1)
	.Nodes.Add("Parent 1")
	with .Nodes.Add("Parent 2")
		.Picture = "pic1"
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 102
			.Add("Child <b>3").Value = 103
		endwith
		.Expanded = .T.
	endwith
endwith
51:
How can I specify a default editor

*** AddNode event - Occurs when a node is added to the nodes collection. ***
LPARAMETERS NewNode
	*** NewNode.Editor = "calc"

with thisform.XMLGrid1
	.Editors.Add("calc",20)
	.LoadXML("<numbers><first_number>100</first_number><second_number>200</second_number></numbers>")
	.ExpandAll
endwith
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. ***
LPARAMETERS NewNode
	*** NewNode.Editor = "edit"

with thisform.XMLGrid1
	.SelForeColorChild = RGB(128,128,128)
	.Editors.Add("edit",1)
	.LoadXML("http://www.exontrol.net/testing.xml")
	.ExpandAll
endwith
49:
How can I assign editors to nodes

with thisform.XMLGrid1
	.BeginUpdate
	.AllowDuplicateEntries = .T.
	with .Editors
		with .Add("name",1)
			.Appearance = 4
		endwith
		with .Add("phone",8)
			.Mask = "(###)-######"
			.Appearance = 4
		endwith
		with .Add("date",7)
			.Appearance = 4
		endwith
	endwith
	with .Nodes.Add("Customer")
		.Picture = "mihai"
		with .Nodes
			.Add("Name","Mihai Filimon").Editor = "name"
			.Add("Phone","(0744)-845287").Editor = "phone"
			.Add("BirthDay",{^1971-12-31}).Editor = "date"
		endwith
		.Expanded = .T.
	endwith
	.Object.LevelWidth(0) = 82
	.EndUpdate
endwith
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. ***
LPARAMETERS NewNode
	*** NewNode.Picture = LoadPicture("c:\exontrol\images\colorize.gif")

with thisform.XMLGrid1
	.Nodes.Add("Parent 1")
	with .Nodes.Add("Parent 2")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 102
			.Add("Child <b>3").Value = 103
		endwith
		.Expanded = .T.
	endwith
endwith
47:
How can I assign a picture to a node ( method 3 )

with thisform.XMLGrid1
	.Object.HTMLPicture("pic1") = "c:\exontrol\images\zipdisk.gif"
	.Nodes.Add("Parent 1")
	with .Nodes.Add("Parent 2")
		.Picture = "pic1"
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 102
			.Add("Child <b>3").Value = 103
		endwith
		.Expanded = .T.
	endwith
endwith
46:
How can I save the control's content using a different version of XML DOM
with thisform.XMLGrid1
	d = CreateObject("Msxml2.DOMDocument.3.0")
	.LoadXML("<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>")
	.SaveXML(d)
	DEBUGOUT( d.xml )
	.ExpandAll
endwith
45:
How can I load the control's content using a different version of XML DOM
with thisform.XMLGrid1
	d = CreateObject("Msxml2.DOMDocument.3.0")
	with d
		.async = .F.
		.loadXML("<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>")
	endwith
	.LoadXML(d)
	.ExpandAll
endwith
44:
How can I get the XML string from the control's content
with thisform.XMLGrid1
	d = CreateObject("MSXML.DOMDocument")
	with .Nodes.Add("Root")
		.Image = 1
		with .Nodes.Add("Child1")
			.Image = 2
			.Value = "Value <b>1"
		endwith
		with .Nodes.Add("Child2")
			.Image = 2
			.Value = "Value <b>2"
		endwith
	endwith
	.ExpandAll
	.ResizeToFit(0)
	.SaveXML(d)
	DEBUGOUT( d.xml )
endwith
43:
How can I load the control from a XML DOM object

with thisform.XMLGrid1
	d = CreateObject("Msxml2.DOMDocument.3.0")
	with d
		.appendChild(.createElement("Root"))
		with .childNodes.item(0).attributes
			.setNamedItem(d.createAttribute("Item-1"))
			.item(0).value = "value <b>1"
			.setNamedItem(d.createAttribute("Item-2"))
			.item(1).value = "value <b>2"
		endwith
	endwith
	.LoadXML(d)
	.ExpandAll
	.ResizeToFit(0)
	DEBUGOUT( d.xml )
endwith
42:
How can I load XML from http or URL

with thisform.XMLGrid1
	.LoadXML("http://www.exontrol.net/testing.xml")
	.ExpandAll
endwith
41:
How can I load XML from a supplied string

with thisform.XMLGrid1
	.LoadXML("<customer><first_name>Joe</first_name><last_name>Smith</last_name></customer>")
	.ExpandAll
endwith
40:
How do I programatically search for a node
with thisform.XMLGrid1
	.Nodes.Add("Parent 1")
	with .Nodes.Add("Parent 2")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 102
		endwith
	endwith
	.Nodes.Add("Parent 3")
	.Search("Child 1",-1).Selected = .T.
endwith
39:
How can I show the control's selection using your EBN technology

with thisform.XMLGrid1
	.BeginUpdate
	with .VisualAppearance
		var_s = "gBFLBCJwBAEHhEJAAChABUgIg6AADACAxRDQNABQKAAzQFAYaBiG6GAAGIYxWgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjAIoBQSGYZAIkGY4ah2A42RhNETyHD"
		var_s = var_s + "kUx7E6EZToCA6ChGOozThOEgUOAsExRIaJJ6oSTJAjGR46UjHdTwHCNHyfEAZZSqSaqLhuEYuQLZNZ1dL9KzFFqyIRQaK0IgmaI5VrFVqTPSQASLIKWKKjObIarOA53X"
		var_s = var_s + "jFd51DSFBTuGIYaZxGZYeqmeZdT7Xcr2fZUdw2EinIRFeqsHglbQcaBpegXVjNWw5N7EMDuKCdLACdYDaLlWiwHpQAZ7Vi+KgkXDcBwCUIhYQAGy4MAGcwvO7ed70HgO"
		var_s = var_s + "GoBxhmMZxilmW48Eca4TmmYw6jELYFkYB5MjubZ5F2fBWjeKZGjeYIkF4C4/DOPZrm0QhBBCEoBiSRh0B0RwhhQMRIAGYQtAMEIElgFQaEUUAwiECR6FyZAgBgRZOgEK"
		var_s = var_s + "ZfAkAZDjYGIGiGGBuB6BxiAgcgigeYg4gYJIJmIaIkm0PpikiNJ1guYwDjYMoMk6GJWDaDZjFOIg6g6Y4zioPoPk8KQGEIPgkEkFJ+hGZIIiIJYSmSKQ2CqE4kkkPhSh"
		var_s = var_s + "QZRJEIVoUmUeRWFiFplikdhZheZZJgIXoYGIGI2GaCwOGmJhqDOZpJjSOobmcAoWHKHJJmmVh2CeZ4JmSIoemeSZ2H6H5nnKBoCiCZxpliHYhmiCgOgMLQokoNJJiOaQ"
		var_s = var_s + "DHKEokmISQiEmGQmDoZhiiaaYKHKGonGoCh+iKJ4qEiKJ5imaoDGqKoqksao2i4KQrAqRoxh+SpqlaNgwiuCpkliLprkOCo+i+ThLAaQoOA6GJ+4gbIIn4PIOg4Ow2k6"
		var_s = var_s + "L5rnMVpSjSS57FaVgqm2CxmHmNptkKNpejeZpbgYbIyCYc5uiWKJqBuHpqjobpLiKbo6mSM4unKPJLjuVp2CgL4LmSKo+m+ShChCNAwAOUwCkCTx8BcBpAnAOQKEIPBw"
		var_s = var_s + "kwNwOkMDwMEcEpEnETBXBaRQwnwZJxkKJAYkIMIRGQXBwnIN5yEyFJFkmcoJk8KocgmTI3C4LAzJrSpPlyVw2jwM4LjcOY7nOLJ3DyFQOF0BwxiyKwDCMRpRmyA5bEqU"
		var_s = var_s + "pwgwCwihCMR9EcUpUnUTRXFaVZ1FyCwegudI9HcSoaiaIwDGKWNuCCMpZnaAwzGqWpzj2Nw+luM59kKZ4LGqHkOIpRdieD2M4eorwPDZAsLEX48AOAPAKMEeAmhbD1F6"
		var_s = var_s + "OsY4fwKjFHaHwN4HQ3ATHMJ9SA4wTjnVIO4LYfwai4HmHQewRAvh0AoB4DYlALi9BYJERqewnhVGqPUTob2OD2A6I8Mo2RwvUCCCINgEwkiVG6PcQoH21iUH8A8QocQM"
		var_s = var_s + "jnDuI0cY9h8gFBaCMeYPBzidHMMQSInAzBeD0J4V4fxvjsDIG8WoiQ0D9BSHsKgdhPgPGKPEfgnwXjNGsOofgPh5iDDAN8KI5gzh+A+I4RAUgoCzFSG8fY/wPjBFSP0f"
		var_s = var_s + "4nhKBkHkFwXYlw8hjHyOgHI1QhDiHAEMRQeBBCmAMEAaoFBQCGBIBEQQUASB3FoLEFYBRuBbG6HQV4gR5jBGwD0A44QCAhEGM8WIghZAmDMKQQozAUiFCgKkH4rxKjyB"
		var_s = var_s + "WOEQhsx4DOA0CsYoeBoBhGAOUQQjQaB6B4JUZQiwwAMCCHId4JRWiPCsCoWQxwhj8D+IsbIeweAnEKAsUQghbBWGiokXgdxIDtGwMsRYghxBWAYLQM4QAXiHGoGEQgUR"
		var_s = var_s + "HAyCMFgZoGRvh0CKFUCIrQpiyBCLMDY4xCASEEEsMobBfhRB6AMYoCxrh3GSP0SoigsCdA+OQAggBHixHQFEY4hguDLFGOsaoehWjeCMA0EI2QRjkEIJARi7w+g3GONw"
		var_s = var_s + "dYGBKBbEWKMEQLxkg2E+CccoBBQiUCkI4KQSgshNBSOUIgqRKhMDkDMXwJxuDfBCCAe4jRBjmBEKwconAajlGILkLQawmjHAYMcPILxu0fEwFMBwYgmAnBMOQYwtBkiZ"
		var_s = var_s + "CYJUSQsRMhmHkFscgPAwgyFcFAJImAYDiE0DwTojAZhSDcE0bIvQbjnAIOETgUhWjyCUJgaQ1hyiMFiHkGYrg7A8EyNMBIJBZjqE4HMRQawisaAuJ0AgnhPBzHcH4J42"
		var_s = var_s + "VoDnBGOMUAFAHTBCyOsEw5hoD6FALQFwhgoDaA6EMdAhQIiiCaEERAyRUjuBkBYWQLRRB0DcI4KI2gehHHSAQfoYRaBYmIHoGQiwUgNBSKUKgrhLBSG0CEJA5heglDQN"
		var_s = var_s + "QTgfRfDqDaE0dIxQcinOEJ4KaZwnjqWqKgGguhLBUBUI0KI6llimAmNoTIURCiqHKOoJoURVBVCdm0LQjwogpC6FYVYVQ2j3BICoJISRVB7EsKsSojhZBWC0M0LI6RiD"
		var_s = var_s + "eFaBUV1FwdC9CYGsAAvw5DzCULoK4Wh2hdHWMUPIrwqjuF8FcbQ/QvjaDaG0WAVRPDACwFsBoYR1i1DeKkRoHRYizDWBEMY7BCiR0KE4Xo2AdgtCwOwUomRZhMAaL0BI"
		var_s = var_s + "awegmHYGsGosw7COGkFoLYTQ0jsHKEkWoFhXDWCyEsHYZx0C9FCB8WwthtBbC2G0NYahGi3FuFYdwuhtDxBaCYYwDRghJAiBYcQXAtiNDiO6+ouQrguHMFwbYnb+B9F4"
		var_s = var_s + "LoKwFh0BdC2K0OsKgBizGsP4RY3AIiDDgO4Yo4ReBXEcPILwWxmh5GiIURAvQLiuHsF4bYqw7CtEKE0XY1xBD3C+FsdofR3jFyEFccw/gvjbGOHwFw5R5C4BGP8AQNxm"
		var_s = var_s + "N5HgEYBIwQsAvAMGAbgHRBjwEMBEYQNx9gKC8MwEohR4DGAyMEVAwh2jcAYAcQIcBrAhGIFgR4EgxBcBfFsIsaxsCvAt1wHIfAtA9G8MAQY/wLDjC4G0Ro8RjA5GCBcQ"
		var_s = var_s + "4HQxjcD7woPwAQ0DqHOBkZw/BGiRHkEYJIyQsgvBMGQbgnRJjyEMEkY4+QngcHKBwVs5xjBHDSHgOwixyBMASJYOYBgwjMCyI8GQZBmCpEyPEVwZdECtEGGUXgYBoiyH"
		var_s = var_s + "gP8ZomRng6DOFwdonR5huA0M8DI7wfBmC4N0SAmgYBhhoAsBnA7ONgGhQh6AjBEhogtAXgjA0BugOhRh5h3BIhnBNAfglA0gugWhQgsAbAuBUhdAEAwh0AmgXhTh6gDB"
		var_s = var_s + "QhqM4giB0gWgmhNBagTBUhqgkgLgmBzB4hIhTgaB7BVhrAtBnrSgug2AfAZBnBbhrgtB3gpA1BugAhVh6APACBrhNgHgxA2Aug8r0AbBkhsgphZgvgkhegwhAgShPBot"
		var_s = var_s + "4gng1A2guhWhah7BjBshtgtg3g3A2hmhLhbh6BTBupkhHg5POBNgih7A8B/huBdhXg7A3Buhuhdh7hDB4hGg9Avg8oiB2heh7gLBzhpg9gDg6g3hGh+hfh8ADgAhvAdh"
		var_s = var_s + "pu/gvAGhdg7hpgjhBAsBnu0hvAOhhh8BDgIuDgng3gSAggXhihyBvgFjmgphHA4hvAevggDgQhtBUgLhFhEg/AZgCHaARByguBXhLA5BvAuhdg8gTgMBRB+A0A/hkgnQ"
		var_s = var_s + "8h8hjgchzguB3r9hvA+hnh9ADgguNgHhOg5B/AghogdAjgkh0guB+gqA5AvAnAYgYhPglh1AugnhVA6gvBWhpA9AbgPh1B+g3hXA5g/BNhmBVA3gaB1hehHhZA7AvBmh"
		var_s = var_s + "sh9Oqh2gOhXhbA7AfBfhkhOApgUBTBNhBhdA7gugrgIBTA/g7B3guh3glgYSFBvhqggBwh4Auh+AmAjhHgGhwh+AjhEh4gvAXhjA8BvgOhxh+BDvZAvAVAhAjhEB2hyB"
		var_s = var_s + "+BjhMh5gvA3hnA8hvgeAUAsg4BZh6AkBaBABACAg"
		.Add(1,var_s)
		var_s1 = "gBFLBCJwBAEHhEJAEGg4BFIDg6AADACAxRDAMgBQKAAzQFAYahsGCGAAGIYxUgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHL"
		var_s1 = var_s1 + "UXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQGhsCYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU8lORLUi+M4zSBPcZVTRtGShPDBK"
		var_s1 = var_s1 + "TjMKKYgkG4lVpRNa0PC1GTzQ6mazkKQLRADDIDVbAeL3LiMBy9LyLLItSIrFqqaJma7ccgRDj4AY7Ua+czufBZbozOqDYzAey7TDWLRXFDNIzzTgQAyHHrETbHGqzFxM"
		var_s1 = var_s1 + "AEa5YGqYpVj2HwzDuQ5oHKIQgggSRAlIYw6B0ThGFGDIAFUDAhBMfZRiGNAkFECZnG4IQdneJwmnsSQrGAAhWAIJBJBIQgFCQIBiEIAglgqYo0i4V4MEgRI9gSToYFSb"
		var_s1 = var_s1 + "4Fk6Y4+BmBZhFOJgTC8TBogQAArgqco4muCZOkOMJtgmYpIjYKg7GKE4uCUK4AAKKg2DwI4DiCZw5k6KJ2D6D4OHiag4DwIxiiQAArAqMosnEPBPAOIhOg+DozjIJ4PG"
		var_s1 = var_s1 + "SY4iEwPAkhKLhHUUSQsnKFCnkYU9MjORhcCsAAIACLQ8iaSJ6FKC5jJoaobA8KYoACCRKnmMJzhuDpZnSboMCKGJ4nMPIPDmYAACwKIDk6CoLCeU40m6I5oliMoKDyaI"
		var_s1 = var_s1 + "CokLIpgoThviOKJoGYf4KmUKhMjMLJLCAAojCyaYoiYGoGmqM46CkOwPEoKonAACxKlSdItmiWBeBeDgrioNo3D0KxSlAAAtgsUpYnUPRPEoco8hCa+T40SxbBRj5tEs"
		var_s1 = var_s1 + "HJ1i6JhbGYS4ug8awelQLZAAKZI5C4DxrhYQ9ehmUppWiA48nAPRuFKYpiAAC47laZQ9iuKZSgOPotkuFI7C6C4gACPJAm8eQOhOQZoikDp3kCS5AACPoEk8fBGnqQgp"
		var_s1 = var_s1 + "DOSppD2TxjlyPZD6CfwekQTx5lKP5ImseZTCAL5MAMhZKEwA5jC6SIyEqfh0kuD4MjAAAwcwBw0iKDwjlKVozmyChPDSThyiMDxGk6awbB6XY1iwfQInkPg0GMEAADEd"
		var_s1 = var_s1 + "RDmcVovm8ex3FkPJrH0WJ5w4UAAkcMYMHOaxmjGTxNGcao1jWbYMkcAAMk2RJ7lycxMgMdpEHMTZMnuXBM7uMAOAG1jAED8HAQ47wGjDHgPwEI+RggcGOAmAAqxDj8Do"
		var_s1 = var_s1 + "HMTY3BUi7GWPOCAKg3jIBOEIXggBAEBA"
		.Add(2,var_s1)
	endwith
	.ShowFocusRect = .F.
	.SelBackColor = 0x1000000
	.SelForeColor = -1
	.SelBackColorCollapse = 0x2000000
	.SelBackColorChild = -1
	.SelForeColorChild = -1
	.AllowDuplicateEntries = .T.
	.Nodes.Add("Parent 1")
	with .Nodes.Add("Parent 2")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 102
		endwith
		.Expanded = .T.
		.Selected = .T.
	endwith
	with .Nodes.Add("Parent 3")
		with .Nodes
			.Add("Child <b>1").Value = 103
			.Add("Child <b>2").Value = 104
		endwith
	endwith
	.Nodes.Add("Parent 4")
	.EndUpdate
	.Object.LevelWidth(0) = 96
endwith
38:
Is it possible to assing a picture to a node (method 2)

with thisform.XMLGrid1
	.BeginUpdate
	.Object.HTMLPicture("pic1") = "c:\exontrol\images\zipdisk.gif"
	.AlignChildContent = .T.
	.AllowDuplicateEntries = .T.
	.SelBackMode = 1
	.Nodes.Add("Parent 1")
	with .Nodes.Add("Parent 2")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 102
		endwith
		.BackgroundExt(-1) = "left[18],client[text=`<img>pic1</img>`,align=0x20]"
		.Expanded = .T.
	endwith
	with .Nodes.Add("Parent 3")
		with .Nodes
			.Add("Child <b>1").Value = 103
			.Add("Child <b>2").Value = 104
		endwith
		.BackgroundExt(-1) = "left[18],client[text=`<img>pic1</img>`,align=0x20]"
		.BackgroundExt(0) = "right[4],client[text=`<img>pic1:19</img>`,align=0x12]"
	endwith
	.Nodes.Add("Parent 4")
	.EndUpdate
	.Object.LevelWidth(0) = 96
endwith
37:
Is it possible to assing a picture to a node (method 1)

with thisform.XMLGrid1
	.BeginUpdate
	.Object.HTMLPicture("pic1") = "c:\exontrol\images\zipdisk.gif"
	.AlignChildContent = .T.
	.AllowDuplicateEntries = .T.
	.SelBackMode = 1
	.Nodes.Add("Parent 1")
	with .Nodes.Add("Parent 2")
		.Picture = thisform.XMLGrid1.HTMLPicture("pic1")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 102
			.Add("Child <b>3").Value = 103
		endwith
		.Expanded = .T.
	endwith
	.Nodes.Add("Parent 3")
	.EndUpdate
endwith
36:
I get "The key already exists" when adding a new node. What can I do ( method 2 )
with thisform.XMLGrid1
	.BeginUpdate
	with .Nodes
		.Add("Item",Null,"Key1")
		.Add("Item",Null,"Key2")
		.Add("Item",Null,"Key3")
	endwith
	.EndUpdate
endwith
35:
I get "The key already exists" when adding a new node. What can I do ( method 1 )
with thisform.XMLGrid1
	.BeginUpdate
	.AllowDuplicateEntries = .T.
	with .Nodes
		.Add("Item")
		.Add("Item")
		.Add("Item")
	endwith
	.EndUpdate
endwith
34:
How can I mark the node only, without its child

with thisform.XMLGrid1
	.BeginUpdate
	.AlignChildContent = .T.
	.AllowDuplicateEntries = .T.
	.SelBackMode = 1
	.Nodes.Add("Parent 1")
	with .Nodes.Add("Parent 2")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 102
		endwith
		.BackgroundExt(-1) = "top[20,frame=RGB(0,0,0),framethick]"
		.BackgroundExt(0) = .BackgroundExt(-1)
		.Expanded = .T.
	endwith
	.Nodes.Add("Parent 3")
	.EndUpdate
endwith
33:
How can I mark the entire node

with thisform.XMLGrid1
	.BeginUpdate
	.AlignChildContent = .T.
	.AllowDuplicateEntries = .T.
	.SelBackMode = 1
	.Nodes.Add("Parent 1")
	with .Nodes.Add("Parent 2")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 102
		endwith
		.BackgroundExt(-1) = "[frame=RGB(0,0,0),framethick]"
		.BackgroundExt(0) = .BackgroundExt(-1)
		.Expanded = .T.
	endwith
	.Nodes.Add("Parent 3")
	.EndUpdate
endwith
32:
How can I specify aditional information for a node, when it is expanded

with thisform.XMLGrid1
	.BeginUpdate
	.AlignChildContent = .T.
	.SelBackMode = 1
	with .Nodes.Add("Parent")
		with .Nodes
			with .Add("Child <b>1")
				.Value = 100
				.BackgroundExt(0) = "top[2],bottom[2],left[2],right[2],client[pattern=6,frame]"
			endwith
			.Add("Child <b>2").Value = 102
		endwith
		.BackgroundExt(-1) = "top[4],bottom[4],left[17],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x20]"
		.BackgroundExt(0) = "top[4],bottom[4],left[4],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x02]"
		.Expanded = .T.
	endwith
	.ResizeToFit(0)
	.EndUpdate
endwith
31:
Is it possible to show aditional information for a node

with thisform.XMLGrid1
	.BeginUpdate
	.AlignChildContent = .T.
	.SelBackMode = 1
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 102
		endwith
		.BackgroundExt(-1) = "top[4],bottom[4],left[4],right[4],client[text=`<font ;6><fgcolor A0A0A0>Count: 2`,align=0x02]"
		.BackgroundExt(0) = .BackgroundExt(-1)
		.Expanded = .T.
	endwith
	.ResizeToFit(0)
	.EndUpdate
endwith
30:
How can I hide the expanding bars under each parent node (method 2)

with thisform.XMLGrid1
	.BeginUpdate
	.Object.Background(0) = -1
	.Object.Background(1) = -1
	.AlignChildContent = .T.
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child <b>1").Value = 100
			with .Add("Child <b>2")
				with .Nodes
					.Add("Sub Child <b>2.1").Value = 101
					with .Add("Sub Child <b>2.2")
						with .Nodes
							.Add("Sub Child <b>2.1.1").Value = 101
							.Add("Sub Child <b>2.2.2").Value = 102
						endwith
						.Expanded = .F.
					endwith
				endwith
				.Expanded = .T.
			endwith
		endwith
		.Selected = .T.
		.Expanded = .T.
	endwith
	.Object.LevelWidth(0) = 64
	.Object.LevelWidth(1) = 96
	.Object.LevelWidth(2) = 96
	.EndUpdate
endwith
29:
How can I align the child nodes

with thisform.XMLGrid1
	.AlignChildContent = .T.
	with .Nodes
		.Add("Parent A").Value = 100
		with .Add("Parent B")
			with .Nodes
				.Add("Child<font ;6><off -4><b>1").Value = 101
				.Add("Child<font ;6><off -4><b>2").Value = 102
				with .Add("Child<font ;6><off -4><b>3")
					with .Nodes
						.Add("Node<font ;6><off -4><b>1").Value = 103
						.Add("Node<font ;6><off -4><b>2").Value = 104
					endwith
				endwith
			endwith
			.Expanded = .T.
			.Selected = .T.
		endwith
	endwith
endwith
28:
How do I change the control's visual appearance using the UI Visual Designer
with thisform.XMLGrid1
	.BeginUpdate
	.AllowDuplicateEntries = .T.
	.ShowFocusRect = .F.
	.GridLinesColor = RGB(128,128,128)
	with .Nodes
		with .Add("Parent A")
			with .Nodes
				.Add("Child<font ;6><off -4><b>1").Value = 100
				.Add("Child<font ;6><off -4><b>2").Value = 101
				with .Add("Child<font ;6><off -4><b>3")
					with .Nodes
						.Add("Node<font ;6><off -4><b>1").Value = 102
						.Add("Node<font ;6><off -4><b>2").Value = 103
					endwith
				endwith
			endwith
			.Expanded = .T.
			.Selected = .T.
		endwith
		.Add("Parent B").Nodes.Add(1)
	endwith
	.Object.LevelWidth(0) = 96
	var_s = "gBFLBWIgBAEHhEJAEGg6oBUHSTNAgAA8IZ7/jEZf78jUZicKAYOhULB8jAQxhEaGUjAkfhcICIgg4vAUHgRCJ0MkcInQBC01ACAADACAxRDAMgBQKAAzQFAYahmG6GAA"
	var_s = var_s + "GEZhYgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXIUBxAAqXZZFUaKAg2Qg4TLBAzUTCQbR7HieQghGoqPpWF4gAhCJQGSYZa"
	var_s = var_s + "DqOQyRhkCC4DIITZkRbTUBiRSdWx8AAMIyiGpoJbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhTSYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaIz"
	var_s = var_s + "mgXJqFcCR9lUMZYGwFgCnUdJAF4bY3BsfZOnMd4+l0bR2CwHRWAMRpEGEL5WmsRYPCkZZNmeLQ5l0HoHEuJIxmOL50HgBAWgmDpEGGLJWAqbwPg+RZkH+eg9D4TxfhuR"
	var_s = var_s + "ZeGGdwQH2PQTCmDpFFaKoVB+D5Xmed5pHoX44AWfR+F8UwVnEdpdkMMJKDIChygyIQpAoEh4iIJ5JlgTIcH+XoIFoEwnGEAh6A0KBgiMIICHdRgIlAM4MlKAIcCaIYIj"
	var_s = var_s + "YLoLGKIhqCcMxiTgJQ1A0IxEhsJgJFiPg+guI4yFYOA0GMWIUloNhNGIaIXCUI5CE4SwkEkchMhGCxlBkQIUCQZJZCiFIRk0aQVH8IBmAOBJeDcZJYmyFgnAmAhaGaCx"
	var_s = var_s + "mGmIhqhoZJZgiXYYAgFgCHQOYOFOEITCQCJpCyEoTW6NoACUZJiFCEoekiaZgmSHQXlYEh0DuDpTjCDQiEgchAg0IpJBoXoZiYKYqHaHAimkYguhMIZpAOMh0GEGBmg6"
	var_s = var_s + "JYqmkGowmyK4rAqNoyDsGg2BmCApCuAgNh8agrkqdYkGea4ChGCBAEAoAAJig4YqAm6cp2hKegwoChKIoykKUpinKgqSqKsrCtK4rywLEsizLQtS2LcuC5Louy8L0vi/"
	var_s = var_s + "MAwTCMMxDFMYxzIMkyjLMwzTOM80DRNI0zUNU1jXNg2TaNs3DdN43zgOE4jjOQ5TmOc6DpOo6zsO07jvPA8TyPM9D1PY9z4Pk+j7Pw/T+P9AEBQJA0EQVBkHQhCUKQtD"
	var_s = var_s + "ENQ5D0QRFEkTRRFUWRdGEZRpG0cR1HkfSBIRFmSc55yQXxfHmB5cEGdp0EyJg7BUWoqFQfY/B8f5PnOd5+H6EAB4mRFD3F2G4cImAygZAKDkIwUBKCFASDwKIExyDsBA"
	var_s = var_s + "E4IQcBUg/AUEIGAaQegFAoDAHIkAgg7EgCkAgaAMjGDSEBcIRx+BVAqMUSKmgKjEHINQJCoQCAUCIqVU6qVVqtA+MdWKs1agRVwrpXivlgLCWIJwUIKQlAyE4KAJQEgZ"
	var_s = var_s + "BsEoEoJA5haCKF+JAGYCRhBvA2LINgdglgTEIMEFoMxmiTCoM8GgzQ5hUE2DETYswEgCGAE4Y4MRlByAkGQQIHS3BSDaAQJQkg6AdAWEIKAEx0gdB6BwSYsh9DCkIHEb"
	var_s = var_s + "QdgIikCSA5fQpAsgjCYNMOg1QchPGmygGDJhSA9BIHYJwzARgMGiNQeobQThXA6JUQoZQrjWEOGMIwwwYgFBKHQIIsx2hFD6F8WgjB+h0CkDEBACABkwJkAAKc4QANbJ"
	var_s = var_s + "010noOpzNiKKUcpJSymlPGoHIGDawRiBEI24rpXywljLKWcYAWB+AkDCCASYyRSADBgCQRQXQNCOGAOYGQGAOCCCKBESgTgwgjByNQXwbQNiIGcCEEAKAli0BwCQAAUR"
	var_s = var_s + "UgRDSOgAU5RPBJFQJMdASAjA2AoIQaAoA6g6CaB4XYSxWDHAMKILAiBlDHAiBoRgLBICbCaK4VIAxEDFFUNcBIfRrBrBULwIA6RwABE4JIdoLxMjMHIBMfA1Q1CdCaKg"
	var_s = var_s + "bwsBIh8CwEIYYAwEjJDWHQLQ9QVgZDyMMZw5QKjJAoIIcwABjhAHWBkBgkABC5EsYsVgtg9gVFwAENotAtCuBiLkAgRwhAAGeOQN48h1BtHeBMTItxijoBgJ0Xw7gai9"
	var_s = var_s + "EqOYdwuR2B4AGEcUA4wmj1F0L0OwwhsiyEaNcGwvBuD/AuKMUtlAQglAGEkRg6A6g5AyEYGQBQqC0AAEIEw+wxhDDQEguozxuhIUwHMU4uxRASAGIcNI+A7CZDOOkYQU"
	var_s = var_s + "RPimHiDMAgwQ4BUAyAcYI0BGAbjQBAUgHQBifGOHkTYAAgBHDiJgPwnIbD6DyJwE46R1BzV2nkCkNguBdAqEZTIY4ciHHiM4LIngjghEJh0IoJAjBwE+IcRItg/AdHMK"
	var_s = var_s + "wRIIwkCyB4JUEgyRJBEE6CUZI8gmCED+B4Q4ER3BuAmNAPI7A6BIEMLQXYLxOjyHoMMGDIQWDJBmMwOYSRWZXHOEkeQbQJCyGiNMEQGh5ikHYHcZwsxiDvB4M8SY3B+g"
	var_s = var_s + "9CgAYXg2A6hNHmIwDgewOhHHCOANoUQqBlAuEYaQFA+glCOFISgjQVhJGiLMMI1whDLCOFwQQbgpj1ASV8KgdQKhJCmNQaoTWaCbEmzgJwQRjjBGwH4DwRh6hpC2FYWo"
	var_s = var_s + "vQ6hcGuJUYofQujXHqO0NwfwPgnDaGEAonwDhxHyBILIcgC38GyNYRomw0jaAsKUUoaAsCHD6I4P25BCBGDkFse4CRzhwC4HexIcxuDXCaMsOqwQQjjDaJ8E4jAmBzC8"
	var_s = var_s + "HcVI6w9BeHuLUeIfRvhXHaPMP4nBjjxHoHkLwBxIj7BaOAc4RgJiFHCBgNwFRDhhw4CURA4QcARHPxEI4ngHB1DGHgdoERHhjEwP4IrGBMgGCaESI42R0iMywOkdwdgy"
	var_s = var_s + "jZEMF8TA5hMieDbfwDIrg5ibHMDkJI6+sDWHCN8UIaBDjGEOKMNAugfCVFIOkTQRhOB3HKCcXotg+joBsO0XIbw1DaGcLEVo6h9DuFqK8NYmhoj8D8GoKYhAGgECziMe"
	var_s = var_s + "YjQPgHESPYPY6wLiWQiG4LYrh0i7HcHsZ3ih2h2GSO4NqewOAKDmBYGIMRjB+HUJwIwgxiDxE4F8DoxQ5AcDeCMY4nhTgcDYFkDwRwMiDlQCYXI+g5CVGgK8IoCQ6BwF"
	var_s = var_s + "uE0A49ADjxHMGwYYiAEEuauAAQrWq8tca6QcnobGwihp3myp5G0BsA3AaG1ghhIheJ+G4J/m5qBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTAUAlAVBGAABRgRBRB"
	var_s = var_s + "5hoACBTADgeBJgogThoBIBGA2AUgEhQggB1AqBFD9AXgIgMgGgiBbAFogA1AYBYhhA2B7BNBOAHFjhVBthSh7gchWBVB2gBhTiqg5AlhSBfAzgZhIAnhxgqhNA2gZBQg"
	var_s = var_s + "8BggpBxgwgFBiASATgShWgog1haA8BagZB5hDhTBrByApAFhEABgMgBhVhgB4h7guBGAHBegvBFgsgWhIgVgWhVBogzBrhuByAIgOB8ABgdhRhfLeB8AshugZg6hBhjB"
	var_s = var_s + "gB7BdhMBrAtArgUBmgjB5hOAIADBDgehiBNhjgahZgXBMABBrhYBqhihVg9gfAzA7hDhoBkAmiDhEAkggBpAxgdAOgnAjAohGBAgqgWgAAIBEhfB8BoBtAJAUBCB5hbm"
	var_s = var_s + "pBiAuB0B8AdAFAkhlgAhNIUhQgBhggIAmAKgChghIA2ALgBBNBDgeASBSBOBoBUhbgFhOh4BkhygGhhhIB2AegHhiAIgGAfgGEKhyAmgJhNBYgmAkA6hihDgmAugLhjA"
	var_s = var_s + "IhGIEhjCwgsA6hPAIhkhPgOhggDhOA+gNBkAJAGBCgMgPBJAUhNvpBYh+BDspBIhGBFA9Iwg2BJA8hjB5BWBWgVhlgJBmBagVsphGBTA7AmAJgGBigYhmBJgWBms3gZB"
	var_s = var_s + "2BIgBhPBZg0htgbhnAJhGBygchnBJhWGSAPBphmBegbD+g6B+gfhoAKAGgCgghoBKAWB/jNhphshQgiAiBKA2tLtQhGtSBPB6BWgKglBPBzhGgagmhphKB2gegnhqAKg"
	var_s = var_s + "GgbA+AqBKBegVgPoaAmgqgqhqhKg2gugqBqBDhigKgsBqh6hWg2gthjhjhmg6gshqBJA+prhsALAGhCgwhsAKhoh5iBBqAihKuuhLA2hOgzhshDhqhSgyGdBChWg1htg"
	var_s = var_s + "JhmhSA+glAYBCBtA9BrAaAihfg2BuTuhhgeBMhrgmADA5BNgrg2A5A8AsBrhGhyg8hvBLhWh2g7hhB7hkhbBSBOgrh0hZg/tkAHAChAhvhzBmBhBSBQAQCAg"
	.VisualDesign = var_s
	.EndUpdate
endwith
27:
How do I specify to search for name of the nodes only, when the user filters the control

with thisform.XMLGrid1
	.BeginUpdate
	.FilterBarPromptVisible = -1
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child<font ;6><off -4><b>1").Value = 100
			.Add("Child<font ;6><off -4><b>2").Value = 101
			with .Add("Child<font ;6><off -4><b>3").Nodes
				.Add("Node<font ;6><off -4><b>1").Value = 102
				.Add("Node<font ;6><off -4><b>2").Value = 103
			endwith
		endwith
		.Expanded = .T.
	endwith
	.AutoSearch = 1
	.FilterBarPromptType = 35 && FilterPromptEnum.exFilterPromptApplyOnName Or FilterPromptEnum.exFilterPromptStartWith
	.FilterBarPromptPattern = "No"
	.EndUpdate
endwith
26:
Is it possible to include child-nodes, when do filtering

with thisform.XMLGrid1
	.BeginUpdate
	.FilterBarPromptVisible = -1
	.HideSelection = 1
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child<font ;6><off -4><b>1").Value = 100
			.Add("Child<font ;6><off -4><b>2").Value = 101
			with .Add("Child<font ;6><off -4><b>3").Nodes
				.Add("Node<font ;6><off -4><b>1").Value = 102
				.Add("Node<font ;6><off -4><b>2").Value = 103
			endwith
		endwith
		.Expanded = .T.
	endwith
	.AutoSearch = 3
	.FilterBarPromptType = 226 && FilterPromptEnum.exFilterPromptIncludeChild Or FilterPromptEnum.exFilterPromptApplyOnValue Or FilterPromptEnum.exFilterPromptApplyOnName Or FilterPromptEnum.exFilterPromptContainsAny
	.FilterBarPromptPattern = "Child3"
	.EndUpdate
endwith
25:
How can I change the control's filtering so it searches for Contains rather than Start

with thisform.XMLGrid1
	.BeginUpdate
	.FilterBarPromptVisible = -1
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child<font ;6><off -4><b>1").Value = 100
			.Add("Child<font ;6><off -4><b>2").Value = 101
			with .Add("Child<font ;6><off -4><b>3").Nodes
				.Add("Node<font ;6><off -4><b>1").Value = 102
				.Add("Node<font ;6><off -4><b>2").Value = 103
			endwith
		endwith
		.Expanded = .T.
	endwith
	.AutoSearch = 3
	.FilterBarPromptType = 98 && FilterPromptEnum.exFilterPromptApplyOnValue Or FilterPromptEnum.exFilterPromptApplyOnName Or FilterPromptEnum.exFilterPromptContainsAny
	.FilterBarPromptPattern = "Child3"
	.EndUpdate
endwith
24:
How do I enable the control's filtering support

with thisform.XMLGrid1
	.BeginUpdate
	.FilterBarPromptVisible = -1
	.HideSelection = 1
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 101
			.Add("Child <b>3").Value = 102
		endwith
		.Expanded = .T.
	endwith
	.EndUpdate
endwith
23:
How can I hide the expanding bars under each parent node (method 1)

with thisform.XMLGrid1
	.BeginUpdate
	var_s = "gBFLBCJwBAEHhEJAAChABDEMACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXI"
	var_s = var_s + "UBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhT"
	var_s = var_s + "SYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4k"
	var_s = var_s + "jGY4vnQeAEBaCYOkQYYslYCpvA+D5FmSc55j0PhfF8eYHlwQZ2nQTImDsFRaioVB9j8Hx/k+c53n4fogAeTJFHuXY3HCTAygyAociMKBKEKBIeCiCZyHYEAnCEOBUh+B"
	var_s = var_s + "QhBgNIegKCgYBySAgh2SAUgINAMmMNIgCcCYjn4KoKmKSI2C6CpiHIagkDMYgCAoIg1A0IxEhsJgJFiPg+g+Y4yFYOA0GMWIIloNhNGIaIXCUI5CE4SwkEkchOFCFIlB"
	var_s = var_s + "kThQCUCQZDYSglCQcxaEUX5IBmBJhDeDZZDYOwlgmQhghaGZmkmKhnhoZo5ioTYYk2WYEgEYAnGOGJlDkCQyECDqfCkNoCCUSQ6A6BYhCgCZ0g6HoOEmWR9GFYw4m0Ow"
	var_s = var_s + "IlIJIHCRc4shGJhpjoaocieaZiC6GAimkUgehIOwnGYEYGGiah6jaE4rg6SpCjKK5rEOMYjGGGIChKOgglmdoij6L5aEYfo6CkGIEAQgIA=="
	.VisualAppearance.Add(1,var_s)
	var_s1 = "gBFLBCJwBAEHhEJAAChABC0MACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXI"
	var_s1 = var_s1 + "UBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhT"
	var_s1 = var_s1 + "SYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4k"
	var_s1 = var_s1 + "jGY4vnQeAEBaCYOkQYYslYCpvA+D5FmQf56D0PhPF+G5Fl4YZ3BAfY9BMKYOkUVoqhUH4PleZ53mkehfjgBZ9H4XxTBWcR2l2QwwkoMgKHKDIhCkCgSHiIgnkmWBMhwf"
	var_s1 = var_s1 + "5egglInGEAh6A0KBgiMIICHdLIIlAM4MlKAIcCaIYIjYLoLGKIhqCcMxiR8JQ1A0IxEhsJgJFiPg+guI4yFYOA0GMWIUloNhNGIaIXCUI5CE4SwkEkchMhGCxlBkQIUC"
	var_s1 = var_s1 + "QZJZCiFIRk0aQVH8IBmAOBJeDcZJYmyFgnAmAhaGaCxmGmIhqhoZJZgiXYYAgFgCHQOYOFOEITCQCJpCyEoTVUNoACUZJiFCEoekiaZgmSHQXlYEh0DuDpTjCDQiEgch"
	var_s1 = var_s1 + "Ag0IpJBoXoZiYKYqHaHAimkYguhMIZpAOMh0GEGBmg6JYqmkGowmyK4rAqNoyDsGg2BmCApCuAgNh8agrkqdYkGea4ChGCBAEAgI"
	.VisualAppearance.Add(2,var_s1)
	var_s2 = "gBFLBCJwBAEHhEJAAChABa8GACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIzkKJpAAiCRQGiYZyHKcxMYgQrAZBEbKMLwrAYUIRCCaofA"
	var_s2 = var_s2 + "AGIaRDIcZPXQjZSMdSkHRpKi6Mo2TpPUpSDpUM6VCL3KhqKxXeq1cp2XpfWBYNhVbTafyyaiqKiSWy0EQRBSDXBcNxXHalazhNpCbTSWoqLrhRzDMCwC6rUwCeYJQzCc"
	var_s2 = var_s2 + "LxLCcMwjA5/MDeFLXCwjBJ+W5aFhzBYsbx1NKcZ7nWgaAqOKp/OKnECuBh2EYNMywK5rew7BqTf5tW7ZNx2TYNMYPKiDajcDJMOwqWpUVDjOQ4fidXzfSbPcrxfBsLp/"
	var_s2 = var_s2 + "FOKhmDKGQKHUGoFEiIRPCiE5pl8ChzhuNpyHgU49mSdxtEOWBkCCNRdGQExBhyTRQCcExeG+X5zneeAmh8Uw1nEIIfDMUJSDQSYyGCFR/GCR5yAkJRgGMRgDHyTYjGSV"
	var_s2 = var_s2 + "gmgkchSAoJJhhIRIXCSSQXm4H4HgkQhGBuBgJEgVJWgSVJSAYLg4E2Yx2BuAhJGIcIYCWIxHm4NINiOCJeBuDANliOIBFOJAjhiZQ5AkMhAg6BhJCgbgbH6ZJiFYHAlA"
	var_s2 = var_s2 + "kKQkg6EYOEkCRLFTQw4m0OwIlIJIHCRVAshGGRmHmGhohqZoiC4ZAimYEgeF4OwkCUSRUFwZw5mYX4eg6SZyH6HpoAOMRxFUFRihKBgglaVZagqIpXCWNoGCkFRkAQgI"
	.VisualAppearance.Add(3,var_s2)
	.HideSelection = 1
	.ExpandButtons = 3
	.Object.ExpandButtonsCustom(1) = 16777216
	.Object.ExpandButtonsCustom(0) = 33554432
	.Object.Background(0) = 0x3000000
	.Object.Background(1) = 0x3000000
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child <b>1").Value = 100
			with .Add("Child <b>2")
				with .Nodes
					.Add("Sub Child <b>2.1").Value = 101
					with .Add("Sub Child <b>2.2")
						with .Nodes
							.Add("Sub Child <b>2.1.1").Value = 101
							.Add("Sub Child <b>2.2.2").Value = 102
						endwith
						.Expanded = .F.
					endwith
				endwith
				.Expanded = .T.
			endwith
		endwith
		.Selected = .T.
		.Expanded = .T.
	endwith
	.Object.LevelWidth(0) = 64
	.Object.LevelWidth(1) = 96
	.Object.LevelWidth(2) = 96
	.EndUpdate
endwith
22:
How can I change the visual appearance for expand/collapse buttons

with thisform.XMLGrid1
	.BeginUpdate
	var_s = "gBFLBCJwBAEHhEJAAChABDEMACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXI"
	var_s = var_s + "UBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhT"
	var_s = var_s + "SYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4k"
	var_s = var_s + "jGY4vnQeAEBaCYOkQYYslYCpvA+D5FmSc55j0PhfF8eYHlwQZ2nQTImDsFRaioVB9j8Hx/k+c53n4fogAeTJFHuXY3HCTAygyAociMKBKEKBIeCiCZyHYEAnCEOBUh+B"
	var_s = var_s + "QhBgNIegKCgYBySAgh2SAUgINAMmMNIgCcCYjn4KoKmKSI2C6CpiHIagkDMYgCAoIg1A0IxEhsJgJFiPg+g+Y4yFYOA0GMWIIloNhNGIaIXCUI5CE4SwkEkchOFCFIlB"
	var_s = var_s + "kThQCUCQZDYSglCQcxaEUX5IBmBJhDeDZZDYOwlgmQhghaGZmkmKhnhoZo5ioTYYk2WYEgEYAnGOGJlDkCQyECDqfCkNoCCUSQ6A6BYhCgCZ0g6HoOEmWR9GFYw4m0Ow"
	var_s = var_s + "IlIJIHCRc4shGJhpjoaocieaZiC6GAimkUgehIOwnGYEYGGiah6jaE4rg6SpCjKK5rEOMYjGGGIChKOgglmdoij6L5aEYfo6CkGIEAQgIA=="
	.VisualAppearance.Add(1,var_s)
	var_s1 = "gBFLBCJwBAEHhEJAAChABC0MACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziaQIRDINQlSTJcQjKKEUQTFiXIyAKKwEgmEQMQiCcbzXI"
	var_s1 = var_s1 + "UBxAAqXZZFUaKAgOMJDTLBAzUTCUKx7HynQACCCaTpGVo8hYhEoDJKMdB1HIZIwyBBcqBNWTFdLAAJFKTdKAMIyiGp4DbudjyXg6V5OTblez9P7AMBvS6nKrhcp2PrhT"
	var_s1 = var_s1 + "SYWr+Gp5R7IMhyLI8Uw/DS/Yq1GDYIiuOoIQhCUD0LQ9EyXJqnaJnaC5aiuCT7VRjWDYFgFdTpQC8bZuGz7Trmd59XTadhYHSsAyNRDCL6tayLDxSZabZ5aOa6HoOS4k"
	var_s1 = var_s1 + "jGY4vnQeAEBaCYOkQYYslYCpvA+D5FmQf56D0PhPF+G5Fl4YZ3BAfY9BMKYOkUVoqhUH4PleZ53mkehfjgBZ9H4XxTBWcR2l2QwwkoMgKHKDIhCkCgSHiIgnkmWBMhwf"
	var_s1 = var_s1 + "5egglInGEAh6A0KBgiMIICHdLIIlAM4MlKAIcCaIYIjYLoLGKIhqCcMxiR8JQ1A0IxEhsJgJFiPg+guI4yFYOA0GMWIUloNhNGIaIXCUI5CE4SwkEkchMhGCxlBkQIUC"
	var_s1 = var_s1 + "QZJZCiFIRk0aQVH8IBmAOBJeDcZJYmyFgnAmAhaGaCxmGmIhqhoZJZgiXYYAgFgCHQOYOFOEITCQCJpCyEoTVUNoACUZJiFCEoekiaZgmSHQXlYEh0DuDpTjCDQiEgch"
	var_s1 = var_s1 + "Ag0IpJBoXoZiYKYqHaHAimkYguhMIZpAOMh0GEGBmg6JYqmkGowmyK4rAqNoyDsGg2BmCApCuAgNh8agrkqdYkGea4ChGCBAEAgI"
	.VisualAppearance.Add(2,var_s1)
	.HideSelection = 1
	.ExpandButtons = 3
	.Object.ExpandButtonsCustom(1) = 16777216
	.Object.ExpandButtonsCustom(0) = 33554432
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child <b>1").Value = 100
			with .Add("Child <b>2")
				with .Nodes
					.Add("Sub Child <b>2.1").Value = 101
					with .Add("Sub Child <b>2.2")
						with .Nodes
							.Add("Sub Child <b>2.1.1").Value = 101
							.Add("Sub Child <b>2.2.2").Value = 102
						endwith
						.Expanded = .F.
					endwith
				endwith
				.Expanded = .T.
			endwith
		endwith
		.Selected = .T.
		.Expanded = .T.
	endwith
	.Object.LevelWidth(0) = 64
	.Object.LevelWidth(1) = 96
	.Object.LevelWidth(2) = 96
	.EndUpdate
endwith
21:
Does your control support transparent selection

with thisform.XMLGrid1
	.BeginUpdate
	.SelBackMode = 1
	.SelBackColorChild = .SelBackColor
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child <b>1").Value = 100
			with .Add("Child <b>2")
				with .Nodes
					.Add("Sub Child <b>2.1").Value = 101
					with .Add("Sub Child <b>2.2")
						with .Nodes
							.Add("Sub Child <b>2.1.1").Value = 101
							.Add("Sub Child <b>2.2.2").Value = 102
						endwith
						.Expanded = .T.
					endwith
				endwith
				.Expanded = .T.
			endwith
		endwith
		.Selected = .T.
		.Expanded = .T.
	endwith
	.Object.LevelWidth(0) = 64
	.Object.LevelWidth(1) = 96
	.Object.LevelWidth(2) = 96
	.EndUpdate
endwith
20:
How can I show the selection with some transparent marker

with thisform.XMLGrid1
	.BeginUpdate
	.AllowDuplicateEntries = .T.
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 101
		endwith
		.Selected = .T.
		.Expanded = .T.
	endwith
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 101
		endwith
	endwith
	.Object.LevelWidth(0) = 64
	.Object.LevelWidth(1) = 96
	.Object.LevelWidth(2) = 96
	.ShowFocusRect = .F.
	var_s = "gBFLBCJwBAEHhEJAAChABdcGACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJhGBQxAJCI4DBCIZBwGKQBjASQpUhqHYDTbIMByBI"
	var_s = var_s + "UIxMGiYIRoGAxTiAMo8RrSEZTdD8ExTAZ/XzfMAKRpOFo/ULEUw0NR8aRABiNQbkWjYDp1f5nVRaFTxYKoSxbNqIRpGCzoJrKdI1SBEMTWBAddSdBKzX7tHArLgSQJdS"
	var_s = var_s + "rLMrzDIka4cACcZxkCioXozBpZVjRMaZJC2KAbMaBQgsQALGqjAaVUJQEgZTTmHS/BLPYDsLQdDyXAqnYTkFwWZa4ATtOK5b6jK6dQgmfAAaJGWzYHpGL4QGCYZKGapM"
	var_s = var_s + "gsKaVmwYp8j2RoCCWB4VHQIQjD6FIjF2RpumyewRj6XYrjoMpdk4Pgbm4DZXmmSpRnWeJ9hiN4zAkSRCECBAkFAGhGDGUB1ByBhVGUCxAkQIQ2AsRZRFQDAoEIXoXCUI"
	var_s = var_s + "QGBSNg9BoYBNjMbJ/DGTBznyQAwCIKISCOCRigiHgqgmIhIgCfw3k2dgFn6DAihiMg1g2Yo4mINoNBCEwMkOCgPDOTgyhCZBJBYRIQTGmYOGQaQ2E6EQjhkLg2hOZRJD"
	var_s = var_s + "oURAmSSRWFqEJlHAAhZhaZgJHYX4YCWKYKFOGQljmGgohoJoYloUoambTxqgmZwZkoboWCYeZWFaHaOBDRIkCmahDhIIh5nmfoHGOKgmDmIpjGiHoIEIVQjnyXA3A+cw"
	var_s = var_s + "gkiIooloZgoiWD5zgCYIMhCFAEIC"
	.VisualAppearance.Add(1,var_s)
	.SelBackColor = 0x1000000
	.SelForeColor = -1
	.SelBackColorChild = -1
	.SelForeColorChild = -1
	.EndUpdate
endwith
19:
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 3)

with thisform.XMLGrid1
	.BeginUpdate
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 101
		endwith
		.Selected = .T.
		.Expanded = .T.
	endwith
	.Object.LevelWidth(0) = 64
	.Object.LevelWidth(1) = 96
	.Object.LevelWidth(2) = 96
	.ShowFocusRect = .F.
	var_s = "gBFLBCJwBAEHhEJAAChABGYDg6AADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjAIoBQ4GACJBmKKodgONYYTLFYCwTJ"
	var_s = var_s + "ETw5FKEZTEWQBTjGOY5TbNcgUPCMex7IiVJYpOK6ThqTYfQjLUBvfTgAS4f6Laaneg4JDOUYtTjIADRWBMeSxAatK6rWr7BqOYoDUJZcQyDIcNzXAa9aLjO5wAiWPp4V"
	var_s = var_s + "JZM54FKVEzfQSrZqoDIrEgOZpBYjMdSgADFXQGDbHbhuS5IWwTBpQZhaGZQTb+mZtZ7oMI6HTuSztW7EMLAC6bJx7LoDazoGKSDo0TZRXLNYqzPIdf4OVq4YTxVi2PZG"
	var_s = var_s + "nmLJfGwOY8m2NhTAmPJcmAZBbmiDo3DuW4ZEgAQQhKAYkkYdA6hyDIjBkAIqBgQgmn0YxRFgGIjF8CRwhOB4ZAkPQdFYMRfCsYICFYCgkEkEhCA0JDeEICglgqYo0i4X"
	var_s = var_s + "QMEgZI9gaToYHSb4Hk6Y4+CGB5hlOJgbC8TBoiQAArgqco4muC5OkOMJtguYxIlYMg7GME4uC0K4AAKKg+DwJADiCZw5k6KQWEaEYOHkChADwI5izIKwKjKzQ8E8A4iF"
	var_s = var_s + "aEYOjOMgvhEZRjiIVA8CUEouE9SRJEycoWCMCJmFvUAzkYZArAACAgi0PInEkGhauKCYsmqHQPCmSAAgsSp5lCc4dg6WgUm6DkQhicw8g8OiDiwKQDk6EoNCgU40m6JZ"
	var_s = var_s + "pFiUoSDyaQCokLIqAobh3iWKRogaB4MmWKhsjMLJLCAAorCyagokYIoImsM46DEOwPEoSovABZR0nSL5pFgfgfhALAqFaPw9CuUrgC2CxSlidQ9E8SoSkSEpsZXj5LFs"
	var_s = var_s + "NAAC2bZLDydYwiaW4GFOMIPGsPpcC2QACmSOQuA8a42EvYoZnKcVsAOPJwD0bpSmKagAAuO52m0PYsCmcoLkCLhLjSOwuguIAAjyQpvnkLobkOaQpC6f5CkuQAAj6BpP"
	var_s = var_s + "HwZwCkQKYzkqcQ9k8Y5cj2RejH8JpGE8eZykeSprnmcwoC+TADAAAJMEwA5jDaSoyksHh8rmDLgDBzoHDyJIPCOUpejWbQKG8PJQHMIwPE6UJrhsPpljeLJ9CieQ+DSY"
	var_s = var_s + "wQAAMR1kOZxejGb57hcYQ8mufR4nmVwMFAAJHDGDBzmsbozk8TYHHKN42G2LJHAADJNmSe5enOTIjH6Rhzk2Nke4vBMt8GAHADY5wbgUD8HEQ47wOjHHiPwMI+RigcGO"
	var_s = var_s + "AmAorgjj8EIHMTY3B0i7GePQDoBwdBvGSCcIQ6BACAIC"
	.VisualAppearance.Add(1,var_s)
	.SelBackColor = 0x1000000
	.SelForeColor = -1
	.SelBackColorChild = -1
	.SelForeColorChild = -1
	.EndUpdate
endwith
18:
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 2)

with thisform.XMLGrid1
	.BeginUpdate
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 101
		endwith
		.Selected = .T.
		.Expanded = .T.
	endwith
	.Object.LevelWidth(0) = 64
	.Object.LevelWidth(1) = 96
	.Object.LevelWidth(2) = 96
	var_s = "gBFLBCJwBAEHhEJAAChABJUIQAAYAQGKIaBoAKBQAGaAoDDQMw1QwAAwjSK0EwsACEIrjKCRShyCYZRhGcTSAAUEhiGKQBgiGDhViWAwyDABEbwS78agBFyRlqyfKccx"
	var_s = var_s + "9DaAQEBA"
	.VisualAppearance.Add(1,var_s)
	.ShowFocusRect = .F.
	.SelBackColor = 0x1a0a0a0
	.SelForeColor = -1
	.SelBackColorChild = -1
	.SelForeColorChild = -1
	.EndUpdate
endwith
17:
How can I highlight the focused/selected node only, instead highlighting its childrend collection (method 1)

with thisform.XMLGrid1
	.BeginUpdate
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child <b>1").Value = 100
			.Add("Child <b>2").Value = 101
		endwith
		.Selected = .T.
		.Expanded = .T.
	endwith
	.Object.LevelWidth(0) = 64
	.Object.LevelWidth(1) = 96
	.Object.LevelWidth(2) = 96
	.HideSelection = 1
	var_s = "gBFLBCJwBAEHhEJAAChABdcGACAADACAxRDQNABQKAAzQFAYaBmGqGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJhGBQxAJCI4DBCIZBwGKQBjASQpUhqHYDTbIMByBI"
	var_s = var_s + "UIxMGiYIRoGAxTiAMo8RrSEZTdD8ExTAZ/XzfMAKRpOFo/ULEUw0NR8aRABiNQbkWjYDp1f5nVRaFTxYKoSxbNqIRpGCzoJrKdI1SBEMTWBAddSdBKzX7tHArLgSQJdS"
	var_s = var_s + "rLMrzDIka4cACcZxkCioXozBpZVjRMaZJC2KAbMaBQgsQALGqjAaVUJQEgZTTmHS/BLPYDsLQdDyXAqnYTkFwWZa4ATtOK5b6jK6dQgmfAAaJGWzYHpGL4QGCYZKGapM"
	var_s = var_s + "gsKaVmwYp8j2RoCCWB4VHQIQjD6FIjF2RpumyewRj6XYrjoMpdk4Pgbm4DZXmmSpRnWeJ9hiN4zAkSRCECBAkFAGhGDGUB1ByBhVGUCxAkQIQ2AsRZRFQDAoEIXoXCUI"
	var_s = var_s + "QGBSNg9BoYBNjMbJ/DGTBznyQAwCIKISCOCRigiHgqgmIhIgCfw3k2dgFn6DAihiMg1g2Yo4mINoNBCEwMkOCgPDOTgyhCZBJBYRIQTGmYOGQaQ2E6EQjhkLg2hOZRJD"
	var_s = var_s + "oURAmSSRWFqEJlHAAhZhaZgJHYX4YCWKYKFOGQljmGgohoJoYloUoambTxqgmZwZkoboWCYeZWFaHaOBDRIkCmahDhIIh5nmfoHGOKgmDmIpjGiHoIEIVQjnyXA3A+cw"
	var_s = var_s + "gkiIooloZgoiWD5zgCYIMhCFAEIC"
	.VisualAppearance.Add(1,var_s)
	.Object.Background(19) = 0x1000000
	.EndUpdate
endwith
16:
How do I enable the scrollbar-extension, as thumb to be shown outside of the control's client area

with thisform.XMLGrid1
	.BeginUpdate
	with .Nodes.Add("Parent <font ;6><off 4>1")
		with .Nodes
			with .Add("Child 1")
				.Value = "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
			endwith
			.Add("Child 2")
		endwith
		.ExpandAll
	endwith
	with .Nodes.Add("Parent <font ;6><off 4>2").Nodes
		.Add("Child 1")
		.Add("Child 2")
	endwith
	.ScrollBars = 3
	.Object.ScrollPartVisible(0,65536) = .T.
	.Object.ScrollPartVisible(1,65536) = .T.
	.Object.ScrollPartVisible(2,65536) = .T. && 0x2
	.ScrollWidth = 4
	.Object.Background(276) = RGB(240,240,240)
	.Object.Background(260) = RGB(128,128,128)
	.ScrollHeight = 4
	.Object.Background(404) = .Background(276)
	.Object.Background(388) = .Background(260)
	.Object.Background(511) = .Background(276)
	.EndUpdate
endwith
15:
Does your control support Fit-To-Page, Print and Print-Preview

with thisform.XMLGrid1
	with .Nodes.Add("Parent <b>1")
		with .Nodes
			.Add("Child 1").Selected = .T.
			.Add("Child 2")
		endwith
		.ExpandAll
	endwith
	with .Nodes.Add("Parent <b>2")
		with .Nodes
			.Add("Child 1")
			.Add("Child 2")
		endwith
	endwith
	with CreateObject("Exontrol.Print")
		.Options = "FitToPage = 1x1"
		.PrintExt = thisform.XMLGrid1.Object
		.Preview
	endwith
endwith
14:
How do I print the control
with thisform.XMLGrid1
	with .Nodes.Add("Parent <b>1")
		with .Nodes
			.Add("Child 1").Selected = .T.
			.Add("Child 2")
		endwith
		.ExpandAll
	endwith
	with .Nodes.Add("Parent <b>2")
		with .Nodes
			.Add("Child 1")
			.Add("Child 2")
		endwith
	endwith
	with CreateObject("Exontrol.Print")
		.PrintExt = thisform.XMLGrid1.Object
		.Preview
	endwith
endwith
13:
How can we can customize a context menu based on the node type

*** MouseUp event - Occurs when the user releases a mouse button. ***
LPARAMETERS Button,Shift,X,Y
	with thisform.XMLGrid1
		DEBUGOUT( "Node:" )
		DEBUGOUT( .NodeFromPoint(X,Y) )
		with CreateObject("Exontrol.ContextMenu")
			var_s = "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=],Ra"
			var_s = var_s + "dio 3[id=102][typ=2][edit=],ComboBox[id=90]"
			.Items.ToString = var_s
			DEBUGOUT( .Select() )
		endwith
	endwith

with thisform.XMLGrid1
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child 1")
			.Add("Child 2")
		endwith
		.Expanded = .T.
	endwith
endwith
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. ***
LPARAMETERS Object,Node
	*** Node.Value = Object.Value

*** UserEditorOpen event - Occurs when an user editor is about to be opened. ***
LPARAMETERS Object,Node
	*** Object.Value = Node.Value

with thisform.XMLGrid1
	.NodeHeight = 24
	with .Editors
		with .Add("ExCalendarUserEditor",16)
			.UserEditor("ExCalendar.CalendarCombo","")
			with .UserEditorObject
			endwith
		endwith
	endwith
	with .Nodes.Add("Date")
		.Editor = "ExCalendarUserEditor"
		.Value = {^2001-1-1}
	endwith
endwith
11:
How can change the visual appearance of the expand/collapse buttons

with thisform.XMLGrid1
	var_s = "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTql"
	var_s = var_s + "Vq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0"
	var_s = var_s + "ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yN"
	var_s = var_s + "AOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="
	.Images(var_s)
	.VisualAppearance.Add(1,"c:\exontrol\images\normal.ebn")
	.VisualAppearance.Add(2,"c:\exontrol\images\pushed.ebn")
	with .Nodes.Add("Parent <b>1")
		with .Nodes
			with .Add("Child 1")
				.Value = "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
				.Selected = .T.
			endwith
			.Add("Child 2")
		endwith
		.ExpandAll
	endwith
	with .Nodes.Add("Parent <b>2")
		with .Nodes
			.Add("Child 1")
			.Add("Child 2")
		endwith
	endwith
	.ExpandBarVisible = .T.
	.ExpandButtons = 3
	.Object.ExpandButtonsCustom(0) = 1
	.Object.ExpandButtonsCustom(1) = 2
	.Object.Background(1) = 0x1808080
	.Object.Background(0) = 0x1000000
	.Object.Background(3) = 0x2808080
	.Object.Background(2) = 0x2000000
	.ShowFocusRect = .F.
	.SelBackColor = RGB(0,0,0)
	.SelBackColorChild = .SelBackColor
	.SelForeColor = RGB(255,255,255)
	.SelForeColorChild = .SelForeColor
endwith
10:
How can change the visual appearance of the selected node

with thisform.XMLGrid1
	with .Nodes.Add("Parent <b>1")
		with .Nodes
			with .Add("Child 1")
				.Value = "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
				.Selected = .T.
			endwith
			.Add("Child 2")
		endwith
		.ExpandAll
	endwith
	with .Nodes.Add("Parent <b>2")
		with .Nodes
			.Add("Child 1")
			.Add("Child 2")
		endwith
	endwith
	.ShowFocusRect = .F.
	.SelBackColor = RGB(0,0,0)
	.SelBackColorChild = .SelBackColor
	.SelForeColor = RGB(255,255,255)
	.SelForeColorChild = .SelForeColor
endwith
9:
How can I select programatically a node

with thisform.XMLGrid1
	with .Nodes.Add("Parent <b>1")
		with .Nodes
			.Add("Child 1").Selected = .T.
			.Add("Child 2")
		endwith
		.ExpandAll
	endwith
	with .Nodes.Add("Parent <b>2")
		with .Nodes
			.Add("Child 1")
			.Add("Child 2")
		endwith
	endwith
endwith
8:
How can I expand all nodes

with thisform.XMLGrid1
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child 1")
			.Add("Child 2")
		endwith
		.ExpandAll
	endwith
endwith
7:
Does your control support subscript or superscript

with thisform.XMLGrid1
	with .Nodes.Add("Parent <font ;6><off 4>1")
		with .Nodes
			with .Add("Child 1")
				.Value = "<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"
			endwith
			.Add("Child 2")
		endwith
		.ExpandAll
	endwith
	with .Nodes.Add("Parent <font ;6><off 4>2").Nodes
		.Add("Child 1")
		.Add("Child 2")
	endwith
endwith
6:
How can I add a UserType editor ( ActiveX )

*** UserEditorClose event - Fired the user editor is about to be opened. ***
LPARAMETERS Object,Node
	*** Node.Value = Object.Value

*** UserEditorOpen event - Occurs when an user editor is about to be opened. ***
LPARAMETERS Object,Node
	*** Object.Value = Node.Value

with thisform.XMLGrid1
	.NodeHeight = 24
	with .Editors
		with .Add("ExComboUserEditor",16)
			.UserEditor("Exontrol.ComboBox","")
			with .UserEditorObject
				.MinHeightList = 164
				.MinWidthList = 264
				.AllowSizeGrip = .T.
				.IntegralHeight = .T.
				.Alignment = 0
				.ColumnAutoResize = .T.
				.BeginUpdate
				.MarkSearchColumn = .F.
				with .Columns
					with .Add("Car")
						.Width = 32
						.DisplayFilterButton = .T.
					endwith
					with .Add("Equipment")
						.DisplayFilterButton = .T.
						.DisplayFilterPattern = .F.
						.CustomFilter = "Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*"
						.FilterType = 3
					endwith
				endwith
				with .Items
					.DefaultItem = .AddItem("Mazda")
					.CellCaption(0,1) = "Air Bag"
					.DefaultItem = .AddItem("Toyota")
					.CellCaption(0,1) = "Air Bag,Air condition"
					.DefaultItem = .AddItem("Ford")
					.CellCaption(0,1) = "Air condition"
					.DefaultItem = .AddItem("Nissan")
					.CellCaption(0,1) = "Air Bag,ABS,ESP"
				endwith
				.EndUpdate
			endwith
		endwith
	endwith
	with .Nodes.Add("Car")
		.Editor = "ExComboUserEditor"
		.Value = "Mazda"
	endwith
endwith
5:
How can I load a XML file

with thisform.XMLGrid1
	.LoadXML("C:\Windows\Ultimate.xml")
endwith
4:
How can I assign a tooltip to a node

with thisform.XMLGrid1
	with .Nodes.Add("Title")
		.Value = "value"
		.ToolTip = "This is a bit of <b>HTML</b> text to be shown when the cursor hovers the node."
	endwith
endwith
3:
How can I edit the node using a DateType editor

with thisform.XMLGrid1
	with .Editors
		with .Add("DateEditor",7)
			.Option(34) = .T.
		endwith
	endwith
	with .Nodes.Add("Date")
		.Editor = "DateEditor"
		.Value = {^2001-1-1}
	endwith
endwith
2:
How can I expand a node

with thisform.XMLGrid1
	with .Nodes.Add("Parent")
		with .Nodes
			.Add("Child 1")
			.Add("Child 2")
		endwith
		.Expanded = .T.
	endwith
endwith
1:
How can I add a node

with thisform.XMLGrid1
	with .Nodes.Add("Parent").Nodes
		.Add("Child 1")
		.Add("Child 2")
	endwith
endwith