zoukankan      html  css  js  c++  java
  • DevExpress控件的GridControl控件小结

    DevExpress控件的GridControl控件小结

    (由于开始使用DevExpress控件了,所以要点滴的记录一下)

    1.DevExpress控件组中的GridControl控件不能使横向滚动条有效。现象:控件中的好多列都挤在一起,列宽都变的很小,根本无法正常浏览控件单元格中的内容。

    解决:

    gridView1.OptionsView.ColumnAutoWidth属性是true,即各列的宽度自动调整,你把它设成false,就会出现了。

    2.使单元格不可编辑。

    gridcontrol -->gridview -->OptionsBehavior -->Editable=false

    3.没有下拉滚动条事件怎么办?现象:因为需要加载大数据量数据,所以不能一次把所有数据读入datatable进行绑定,所以决定在用户进一步浏览数据时进行数据的实时加载工作,就是每当用户拉动滚动条时,多加载一些数据进入datatable.没有找到合适的滚动条事件,于是用这个事件代替了,非常合适我的需求.

    TopRowChanged事件.

    4.获取选定行,指定列单元格的内容

            private string GetSelectOID()
            {
                int[] pRows = this.gridView1.GetSelectedRows();
                if (pRows.GetLength(0) > 0)
                    return gridView1.GetRowCellValue(pRows[0], mOIDFiledName).ToString ();
                else
                    return null;
            }

    //mOIDFiledName为要获取列的列名

    5.去除"Drag a Column Header Here To Group by that Column"

    属性Gridview->Option View->Show Group Panel=false,就好了

    6.在gridcontrol中添加checkbox复选框

    gridview->run designer->columns->选择要变成复选框的那一列->column edit->new(在这里可以选择很多类型)

    加载checkbox数据时,费了一点时间,checkbox的复选框怎么点击,一失去焦点是,选择的操作就无效了,问题就出在datatable的绑定上了,一定要绑定一个布尔的类型.

    代码是这样滴!

    private void FrmCreateLegend_Load(object sender, EventArgs e)
    {
        IFeatureLayer pFeatureLayer;
        IDataset pDataset;
        string pName;
        DataTable pDatatable = new DataTable();
        pDatatable.Columns.Add("图层名称", System.Type.GetType("System.String"));
        pDatatable.Columns.Add("选择", System.Type.GetType("System.Boolean"));
        DataRow pDataRow;
        object[] rowArray = new object[2];
        for (int i = 0; i < mFeatureLayers.Count; i++)
        {
            pDataRow = pDatatable.NewRow();
            pFeatureLayer = mFeatureLayers[i] as IFeatureLayer;
            rowArray[0] = pFeatureLayer.Name;
            rowArray[1] = false;
            pDataRow.ItemArray = rowArray;
            pDatatable.Rows.Add(pDataRow);
        }

        this.gridMark.DataSource = pDatatable;
        this.gridMark.Refresh();
    }
    注意:创建的datatable的列名一定要和gridview中的列的fieldname属性值是一个名字,不然,你会发现添加了和你绑定的datatalbe一样多的行,可是行里面却没有内容的.

    7.多选

    GridControl->GridView->属性->OptinosSelecttion->MultiSelect

     8.不显示子表信息

    当我们对DataTable建立父子关系后,将父表绑定在Grid上,会造成关系列上有加号显示,并且可以展开.如果你觉得展开的信息对你没有意义的话,是可以关掉的.这是需要修改属性

    属性Gridview->Option View->ShowDetailButtons=false

     DevExpress控件的GridControl控件小结 - diana - 帅                                 DevExpress控件的GridControl控件小结 - diana - 帅

  • 相关阅读:
    37 反转一个3位整数
    372 在O(1)时间复杂度删除链表节点
    174 删除链表中倒数第n个节点
    13 字符串查找
    4.Single Number(出现一次的数)
    7.斐波那契数列
    6.旋转数组的最小数字
    5.用两个栈实现队列
    垃圾收集器与内存分配策略---确定对象的存亡状态
    Java内存区域与内存溢出异常---对象的内存布局和对象的访问定位
  • 原文地址:https://www.cnblogs.com/guojingmail2009/p/3459026.html
Copyright © 2011-2022 走看看