Пример #1
0
 /// <summary>
 /// 构造方法,根据treeView设置内部类以及属性
 /// </summary>
 /// <param name="treeViewConfig"></param>
 public GenereateConfigClass(TreeView treeViewConfig)
 {
     ClassName = treeViewConfig.Tag.ToString();
     if (treeViewConfig == null)
     {
         throw new ArgumentNullException();
     }
     dtProperty = new DataTable();
     dtProperty.Rows.Add(dtProperty.NewRow());
     dsInnerClass = new DataSet();
     for (int i = 0; i < treeViewConfig.Nodes.Count; i++)
     {
         TreeNode node = treeViewConfig.Nodes[i];
         if (node.Nodes.Count > 0)
         {
             DataTable dt2 = GetInnerClassTable(node);
             dsInnerClass.Tables.Add(dt2);
             continue;
         }
         if (node.Tag != null && node.Tag is EditXmlNode)
         {
             EditXmlNode xmlNode = node.Tag as EditXmlNode;
             dtProperty.Columns.Add(xmlNode.name, xmlNode.ValueType);
             dtProperty.Rows[0][xmlNode.name] = xmlNode.DefaultValue;
         }
     }
 }
Пример #2
0
        /// <summary>
        /// 根据EditXmlNode设置画面值
        /// </summary>
        /// <param name="xmlNode"></param>
        private void SetValueByEditXmlNode(EditXmlNode xmlNode)
        {
            dataGridView1.Columns.Clear(); //清空属性

            dataGridView1.DataSource = xmlNode.Attribute;

            comboBoxType.SelectedValue = xmlNode.ValueType;
            if (typeof(DateTime) == xmlNode.ValueType)
            {
                dateTimePicker1.Value = Convert.ToDateTime(xmlNode.DefaultValue);
                //dateTimePicker1.Enabled = true;
                //textBoxValue.Enabled = false;
                //checkBox1.Enabled = false;
            }
            else if (typeof(bool) == xmlNode.ValueType)
            {
                checkBox1.Checked = Convert.ToBoolean(xmlNode.DefaultValue);
                //dateTimePicker1.Enabled = false;
                //textBoxValue.Enabled = false;
                //checkBox1.Enabled = true;
            }
            else
            {
                textBoxValue.Text = xmlNode.DefaultValue.ToString();
                //dateTimePicker1.Enabled = false;
                //textBoxValue.Enabled = true;
                //checkBox1.Enabled = false;
            }
            textBoxConfigName.Text = xmlNode.name;
            textBoxInnerText.Text  = xmlNode.DefaultValue.ToString();
        }
Пример #3
0
        /// <summary>
        /// 获取EditXmlNode值
        /// </summary>
        /// <returns></returns>
        private EditXmlNode GetEditXmlNode()
        {
            EditXmlNode xmlNode = new EditXmlNode();
            Item        item    = GetItem();

            xmlNode.ValueType    = item.type;
            xmlNode.DefaultValue = item.value;
            xmlNode.name         = item.name;
            return(xmlNode);
        }
Пример #4
0
 /// <summary>
 /// 节点点击事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
 {
     if (formStateNow == FormState.View)
     {
         if (null != e.Node.Tag && e.Node.Tag is XmlNode)
         {
             XmlNode xmlNode = e.Node.Tag as XmlNode;
             if (xmlNode == null)
             {
                 return;
             }
             dataGridView1.Columns.Clear(); //清空属性
             int count = xmlNode.Attributes.Count;
             if (count > 0)
             {
                 DataTable dt = new DataTable();
                 dt.Rows.Add(dt.NewRow());
                 for (int i = 0; i < count; i++)
                 {
                     dt.Columns.Add(xmlNode.Attributes[i].Name);
                     dt.Rows[0][xmlNode.Attributes[i].Name] = xmlNode.Attributes[i].Value;
                 }
                 dataGridView1.DataSource = dt;
             }
             if (xmlNode.FirstChild != null && xmlNode.FirstChild.NodeType == XmlNodeType.Text)
             {
                 textBoxInnerText.Text = xmlNode.FirstChild.Value;
             }
         }
     }
     else
     {
         if (null != e.Node.Tag && e.Node.Tag is EditXmlNode)
         {
             EditXmlNode xmlNode = e.Node.Tag as EditXmlNode;
             if (xmlNode == null)
             {
                 return;
             }
             SetValueByEditXmlNode(xmlNode);
         }
     }
 }
Пример #5
0
        /// <summary>
        /// 添加属性
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddAttribute_Click(object sender, EventArgs e)
        {
            if (treeView1.SelectedNode == null || treeView1.SelectedNode.Tag == null)
            {
                return;
            }
            EditXmlNode xmlNode = treeView1.SelectedNode.Tag as EditXmlNode;
            DataTable   dt      = xmlNode.Attribute;
            Item        item    = GetItem();
            int         index   = dt.Columns.IndexOf(item.name);

            if (index >= 0)
            {
                dt.Columns.RemoveAt(index);
            }
            dt.Columns.Add(item.name, item.type);

            xmlNode.Attribute          = dt;
            treeView1.SelectedNode.Tag = xmlNode;
        }
Пример #6
0
            /// <summary>
            /// 根据树节点TreeNode获取内部类字符串
            /// </summary>
            /// <param name="nodePara"></param>
            /// <returns></returns>
            private DataTable GetInnerClassTable(TreeNode nodePara)
            {
                DataTable dt = new DataTable(nodePara.Text);

                dt.Rows.Add(dt.NewRow());
                for (int i = 0; i < nodePara.Nodes.Count; i++)
                {
                    TreeNode node = nodePara.Nodes[i];
                    if (node.Nodes.Count > 0)
                    {
                        DataTable dt2 = GetInnerClassTable(node);
                    }
                    if (node.Tag != null && node.Tag is EditXmlNode)
                    {
                        EditXmlNode xmlNode = node.Tag as EditXmlNode;
                        dt.Columns.Add(xmlNode.name, xmlNode.ValueType);
                        dt.Rows[0][xmlNode.name] = xmlNode.DefaultValue;
                    }
                }
                return(dt);
            }
Пример #7
0
        /// <summary>
        /// 根据EditXmlNode设置画面值
        /// </summary>
        /// <param name="xmlNode"></param>
        private void SetValueByEditXmlNode(EditXmlNode xmlNode)
        {
            dataGridView1.Columns.Clear(); //清空属性

            dataGridView1.DataSource = xmlNode.Attribute;

            comboBoxType.SelectedValue = xmlNode.ValueType;
            if (typeof(DateTime) == xmlNode.ValueType)
            {
                dateTimePicker1.Value = Convert.ToDateTime(xmlNode.DefaultValue);
                //dateTimePicker1.Enabled = true;
                //textBoxValue.Enabled = false;
                //checkBox1.Enabled = false;

            }
            else if (typeof(bool) == xmlNode.ValueType)
            {
                checkBox1.Checked = Convert.ToBoolean(xmlNode.DefaultValue);
                //dateTimePicker1.Enabled = false;
                //textBoxValue.Enabled = false;
                //checkBox1.Enabled = true;
            }
            else
            {
                textBoxValue.Text = xmlNode.DefaultValue.ToString();
                //dateTimePicker1.Enabled = false;
                //textBoxValue.Enabled = true;
                //checkBox1.Enabled = false;
            }
            textBoxConfigName.Text = xmlNode.name;
            textBoxInnerText.Text = xmlNode.DefaultValue.ToString();
        }
Пример #8
0
 /// <summary>
 /// 获取EditXmlNode值
 /// </summary>
 /// <returns></returns>
 private EditXmlNode GetEditXmlNode()
 {
     EditXmlNode xmlNode = new EditXmlNode();
     Item item = GetItem();
     xmlNode.ValueType = item.type;
     xmlNode.DefaultValue = item.value;
     xmlNode.name = item.name;
     return xmlNode;
 }