c#+dev-GridControl的简单用法

GridControl是DEV控件中常用且非常重要的一个控件,这里介绍一下该控件的基本用法:
GridControl控件使用步骤分为两步:一是控件初始化,二是绑定数据源
控件初始化的代码示例如下:

        /// 
        /// 初始化Grid
        /// 
        private void InitGrid()
        {
            gridControl_PointLayerFields.BeginInit();
            gridView1.Columns.Clear();

            GridColumn pColumn = gridView1.Columns.Add();
            pColumn.FieldName = "Name";
            pColumn.Caption = "字段名";
            pColumn.OptionsColumn.AllowEdit = false;
            pColumn.VisibleIndex = gridView1.Columns.Count;

            pColumn = gridView1.Columns.Add();
            pColumn.FieldName = "Value";
            pColumn.Caption = "字段值";
            pColumn.OptionsColumn.AllowEdit = false;
            pColumn.VisibleIndex = gridView1.Columns.Count;

            gridControl_PointLayerFields.EndInit();
        }

绑定数据源采用绑定datatable的形式,首先对datatable进行初始化:
初始化datatable的实例代码如下:

/// 
        /// 初始化grid数据源
        /// 
        /// 
        private DataTable InitDataTable()
        {
            DataTable pDataTable = new DataTable();
            pDataTable.BeginInit();
            if (gridView1.Columns.Count > 0)
            {
                for (int i = 0; i < gridView1.Columns.Count; i++)
                {
                    DataColumn pColumn = new DataColumn();
                    pColumn.ColumnName = gridView1.Columns[i].FieldName;
                    pDataTable.Columns.Add(pColumn);
                }
            }
            pDataTable.EndInit();
            return pDataTable;
        }

绑定数据源就是把组织好的datatable赋值给GridControl的datasource

 /// 
        /// Grid绑定数据(绑定数据源)
        /// 
        /// 
        private void BindGrid(IFeature pFeature)
        {
            gridControl_PointLayerFields.DataSource = null;
            if (pFeature != null)
            {
                DataTable pDataTable = InitDataTable();
                IFields pFields = pFeature.Fields;
                for (int i = 0; i < pFields.FieldCount; i++)
                {
                    IField pField = pFields.get_Field(i);
                    if (pField.Name.ToUpper().Equals("SHAPE") || pField.Name.ToUpper().Equals("OBJECTID"))
                    {
                        continue;
                    }
                    int pFieldIndex = pFeature.Class.FindField(pField.Name);
                    if (pFieldIndex >= 0)
                    {
                        DataRow pRow = pDataTable.NewRow();
                        pRow[0] = pField.Name;
                        pRow[1] = pFeature.get_Value(pFieldIndex);
                        pDataTable.Rows.Add(pRow);
                    }
                }
                gridControl_PointLayerFields.DataSource = pDataTable;
                gridControl_PointLayerFields.Refresh();
            }
        }
            其显示效果如下:
    ![显示效果](https://img-blog.csdn.net/20160922161125434)

你可能感兴趣的:(学习笔记)