private void SetNodeData(Node node, object item, List<string> fieldNames, int bindingIndex) { node.DataKey = item; node.BindingIndex = bindingIndex; node.CreateCells(); if (fieldNames.Count > 0) { for (int i = 0; i < fieldNames.Count; i++) { object propertyValue = GetPropertyValue(item, fieldNames[i]); if (propertyValue is Image) { node.Cells[i].Images.Image = (Image)propertyValue; node.Cells[i].Images.AutoDispose = true; } else node.Cells[i].Text = GetItemText(item, fieldNames[i]); } } else if (item != null) node.Text = item.ToString(); }