示例#1
0
        /// <summary>
        /// 创建属性
        /// </summary>
        public void createProperties()
        {
            WinHostEx host = Native.Host as WinHostEx;

            host.LoadingDesigner = true;
            int rowSize = m_rows.Count;

            if (rowSize > 0)
            {
                //清除所有行
                for (int i = 0; i < rowSize; i++)
                {
                    m_rows[i].clearCells();
                    m_rows[i].delete();
                }
                m_rows.Clear();
            }
            int targetsSize = m_targets.Count;

            if (targetsSize > 0)
            {
                FCView target = m_targets[0];
                //获取属性名称
                List <String> eventNames = target.getEventNames();
                Dictionary <String, String> attributes = m_xml.getAttributes(m_xml.Nodes[target]);
                eventNames.Sort();
                int psize = eventNames.Count;
                for (int i = 0; i < psize; i++)
                {
                    String name      = eventNames[i];
                    String eventName = "on" + name.ToLower();
                    String value     = "";
                    if (attributes.ContainsKey(eventName))
                    {
                        value = attributes[eventName];
                    }
                    String text = name;
                    if (m_chNames.ContainsKey(name.ToLower()))
                    {
                        text = m_chNames[name.ToLower()];
                    }
                    if (value == null)
                    {
                        value = "";
                    }
                    FCGridRow row = new FCGridRow();
                    addRow(row);
                    //序号
                    GridNoCell orderCell = new GridNoCell();
                    row.addCell("NO", orderCell);
                    //属性名称
                    FCGridStringCell nameCell = new FCGridStringCell(text);
                    nameCell.Name = name;
                    row.addCell("PROPERTYNAME", nameCell);
                    FCGridStringCell enNameCell = new FCGridStringCell(name);
                    row.addCell("ENNAME", enNameCell);
                    FCGridStringCell textCell = new FCGridStringCell();
                    textCell.AllowEdit = true;
                    row.addCell("PROPERTYVALUE", textCell);
                    textCell.Text = value;
                }
                eventNames.Clear();
                update();
                invalidate();
            }
            host.LoadingDesigner = false;
        }