/// <summary> /// Initializes a new instance of the <see cref="Sharpend.Xwt.XwtTreeList"/> class. /// </summary> /// <param name='tree'> /// Tree. /// </param> /// <param name='xml'> /// xml definition for the grid or the resource name for the xml /// </param> /// <param name='isResource'> /// if true param xml is a resourcename /// </param> public XwtTreeList(TreeView tree, String xml, bool isResource = true) : this(tree) { Fields = createDataFields(xml, isResource); navigators = new Dictionary <TreeNavigator, VirtualGridRow>(100); //create the treestore IDataField[] df = new IDataField[Fields.Length + 1]; for (int i = 0; i < Fields.Length; i++) { df[i] = Fields[i].Field; } df[Fields.Length] = new DataField <VirtualTreeRow>(); DataStore = new TreeStore(df); //add columns to the tree //foreach (DatafieldContainer dc in Fields) for (int i = 0; i < (Fields.Length - 1); i++) { DatafieldContainer dc = Fields[i]; Tree.Columns.Add(dc.Title, dc.Field); //tree. //Tree.Columns.Add(itm); //Tree.ButtonPressed += HandleButtonPressed; } Tree.DataSource = DataStore; }
private DatafieldContainer[] createDataFields(String xml, bool fromResource) { XmlDocument doc = getXmlDocument(xml, fromResource); XmlNodeList lst = doc.SelectNodes("//field"); DatafieldContainer[] ret = new DatafieldContainer[lst.Count + 1]; int idx = 0; foreach (XmlNode nd in lst) { String typename = nd.Attributes["type"].Value; IDataField df = createDataField(typename); String title = nd.Attributes["title"].Value; ret[idx] = new DatafieldContainer(df, title, typename); VirtualGridHeaderColumn c = new VirtualGridHeaderColumn(this, title); addHeaderColumn(c); idx++; } //VirtualGridRow ret[idx] = new DatafieldContainer(createDataField("Sharpend.Utils.VirtualGridRow,Sharpend"), "row", "Sharpend.Utils.VirtualGridRow,Sharpend"); return(ret); }
private DatafieldContainer[] createDataFields(String xml, bool fromResource) { XmlDocument doc = getXmlDocument(xml,fromResource); XmlNodeList lst = doc.SelectNodes("//field"); DatafieldContainer[] ret = new DatafieldContainer[lst.Count + 1]; int idx=0; foreach (XmlNode nd in lst) { String typename = nd.Attributes["type"].Value; IDataField df = createDataField(typename); String title = nd.Attributes["title"].Value; ret[idx] = new DatafieldContainer(df,title,typename); VirtualGridHeaderColumn c = new VirtualGridHeaderColumn(this,title); addHeaderColumn(c); idx++; } //VirtualGridRow ret[idx] = new DatafieldContainer(createDataField("Sharpend.Utils.VirtualGridRow,Sharpend"),"row","Sharpend.Utils.VirtualGridRow,Sharpend"); return ret; }