zoukankan      html  css  js  c++  java
  • DevExpress gridcontrol学习知识点

    .//允许自动合并单元格
    gv1.OptionsView.AllowCellMerge = true;

    设置某列不合并

    选中该列,在OptionsColumns-->AllowMerge中设置为false即可

    2.绑定

    点击columns,选择添加创建新的gridcolunmn,

    fieldName:数据库中要绑定的字段

    Caption:描述

    3.使单元格不可编辑。
    gridcontrol -->gridview -->OptionsBehavior -->Editable=false

    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 ColumnHeader Here To Group by that Column"

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

    6.在gridcontrol中添加checkbox复选框
    gridview->run designer->columns->选择要变成复选框的那一列->columnedit->new(在这里可以选择很多类型)

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

    代码是这样滴!

    private void FrmCreateLegend_Load(objectsender, 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] asIFeatureLayer;
            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

    9.隐藏最上面的GroupPanel

     gridView1.OptionsView.ShowGroupPanel=false;

    10.得到当前选定记录某字段的值

     sValue=Table.Rows[gridView1.FocusedRowHandle][FieldName].ToString();

    11.数据只读

     gridView1.OptionsBehavior.Editable=false;

    12.不显示MasterDetailView

    gridView1.OptionsDetail.EnableMasterViewMode=false;

    13.修改最上面的GroupPanel内容

    gridView1.GroupPanelText="柳生飘絮";

    14.数据绑定:

    FieldName --数据库的字段名称

    15.读写拷贝权限设置

    ColumnView.Editable
        This property returns a value of theColumnViewOptionsBehavior.Editable option
        不可写
    ColumnViewOptionsBehavior.Editable
        Gets or sets whether end users are allowed to invoke celleditors
        可读可写

    OptionsColumn.AllowEdit
        Gets or sets whether end users are allowed to invoke editorsfor the column's cells.
        可读可写
        只有ColumnViewOptionsBehavior.Editable = True设置OptionsColumn.AllowEdit才有意义

    OptionsColumn.ReadOnly
        Gets or sets whether end-users are prevented from editingthe column's cell values. 
        可读可写

    16.在GridView的CustomDrawRowIndicator事件中添加如下代码:

     private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
      {
                if (e.Info.IsRowIndicator && e.RowHandle >= 0)
                {
                    e.Info.DisplayText = e.RowHandle.ToString();
                }
    }
    要调整行号列的宽度只需要调整gridview1.IndicatorWidth=35属性即可(注意改属性不是在上面的事件中设置)

  • 相关阅读:
    ssh端口转发
    linux git命令安装
    linux git命令
    linux cpio命令
    linux 抓包工具
    js 深拷贝 ,浅拷贝
    vue $router 打开新窗口
    excel常用操作
    Kafka Topic的增删改查操作
    linux上删除文件名乱码的文件
  • 原文地址:https://www.cnblogs.com/gengaixue/p/3170952.html
Copyright © 2011-2022 走看看