예제 #1
0
        /// <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;
        }
예제 #2
0
        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);
        }
예제 #3
0
        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;
        }