superMap Object 属性查看的一点代码

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using HZZYKJ.IDRMIS.CORE;

using SuperMap.Mapping;

using SuperMap.UI;

using SuperMap.Data;

using HZZYKJ.IDRMIS.EDIM.Tools;

using HZZYKJ.IDRMIS.EDIM.toolClass;



namespace HZZYKJ.IDRMIS.EDIM

{

    public partial class AttributeTreeForm : Form

    {

        private MapControl mapControl;

        private List<Layer> layers = new List<Layer>();

        public static AttributeTreeForm _AttributeTreeForm = null;



        public AttributeTreeForm()

        {

            InitializeComponent();

            mapControl = AppContext.MapControl as MapControl;         

        }



        private void AttributeTreeForm_Load(object sender, EventArgs e)

        {        

            Layers layers = mapControl.Map.Layers;

            foreach (Layer item in layers)

            {

                this.layers.Add(item);

                

            }       

            Layer layer = this.layers[LayerForm._layerform.comboBox1.SelectedIndex];

            Selection selection = layer.Selection;

            Recordset recordset = selection.ToRecordset();



            TreeNode TN_Layer_Father = new TreeNode(layer.Name);

            treeView1.Nodes.Add(TN_Layer_Father);   



            for (int i = 0; i < recordset.RecordCount; i++)

            {                

                string name = recordset.GetFieldValue(0).ToString();

                TreeNode TN_Fild_Child = new TreeNode(name);

                TN_Layer_Father.Nodes.Add(TN_Fild_Child);         

                 recordset.MoveNext();               

            }

           this.treeView1.SelectedNode = this.treeView1.Nodes[0].Nodes[0];

            treeView1.ExpandAll();                 

            

        }









        private void AttributeTreeForm_FormClosed(object sender, FormClosedEventArgs e)

        {

            _AttributeTreeForm = null;

        }











        private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)

        {

                

        }









        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)

        {

            BindingList<FieldInfoName> GridBindingList = new BindingList<FieldInfoName>();

          //  List<FieldInfoName> GridList = new List<FieldInfoName>();

            if (this.treeView1.SelectedNode.Parent != null)

            {

                Layers layers = mapControl.Map.Layers;

                foreach (Layer item in layers)

                {

                    this.layers.Add(item);



                }

                Layer layer = this.layers[LayerForm._layerform.comboBox1.SelectedIndex];

                Selection selection = layer.Selection;

                Recordset recordset = selection.ToRecordset();

                

                FieldInfos fieldinfos = recordset.GetFieldInfos();



                for (int i = 0; i < recordset.RecordCount; i++)

                {

                    if (this.treeView1.SelectedNode.Text == recordset.GetFieldValue(0).ToString())

                    {

                        for (int j = 0; j < recordset.FieldCount; j++)

                        {

                            

                                if (this.checkBox1.Checked == false)

                                {

                                    string x = fieldinfos[j].Name;

                                    string y = null;

                                    if (recordset.GetFieldValue(j).ToString() == null)

                                    {

                                         y = null;

                                    }

                                    else

                                    {

                                         y = recordset.GetFieldValue(j).ToString();//总是出错

                                    }

                                    FieldInfoName FIN = new FieldInfoName(x, y);

                                    GridBindingList.Add(FIN);

                                }

                                else

                                {

                                    if (fieldinfos[j].IsSystemField == false)

                                    {

                                        string x = fieldinfos[j].Name;

                                        string y = recordset.GetFieldValue(j).ToString();

                                        FieldInfoName FIN = new FieldInfoName(x, y);

                                        GridBindingList.Add(FIN);

                                    }

                                }

                        }

                    }

                    recordset.MoveNext();

                }



                this.dataGridView1.DataSource = GridBindingList;

            }

            else

            {

                MessageBox.Show("请选择子节点");

            }



        }



        private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)

        {



       

     

        }



        private void btn_Ok_Click(object sender, EventArgs e)

        {

            Layers layers = mapControl.Map.Layers;

            foreach (Layer item in layers)

            {

                this.layers.Add(item);



            }

            Layer layer = this.layers[LayerForm._layerform.comboBox1.SelectedIndex];

            Selection selection = layer.Selection;

            Recordset recordset = selection.ToRecordset();

            FieldInfos fieldinfos = recordset.GetFieldInfos();

           

                for (int i = 0; i < recordset.RecordCount; i++)

                {

                    if (this.treeView1.SelectedNode.Text == recordset.GetFieldValue(0).ToString())

                    {

                        for (int j = 0; j < recordset.FieldCount; j++)

                        {

                            if (fieldinfos[j].IsSystemField == false)

                            {

                                recordset.Edit();

                                string a = this.dataGridView1.Rows[j].Cells[1].Value.ToString();

                                recordset.SetFieldValue(j, a);

                                recordset.Update();

                            }

                        }                     

                    }

                    recordset.MoveNext();

                }



                MessageBox.Show("属性值修改成功");

        }









        private void checkBox1_CheckedChanged(object sender, EventArgs e)

        {

          

        }



    }

}

 



你可能感兴趣的:(object)