zoukankan      html  css  js  c++  java
  • DevExpress GridControl的使用

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

    解决:

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

    2.使单元格不可编辑。

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

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

    int[] a = gridView1.GetSelectedRows();
    string strMSID = Convert.ToString(gridView1.GetRowCellValue(a[0], "印章编号"));

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

    属性Gridview->Option View->Show GroupPanel=false

    5.多选

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

    多选时获取选择行的某字段值(按住shift键,并选择多行)

    6.显示行号列

    Gridview  的CustomDrawRowIndicator方法

    if (e.Info.IsRowIndicator&& e.RowHandle>= 0)

                    e.Info.DisplayText= (e.RowHandle+ 1).ToString().Trim();

    调整行号列的宽度:gridview>>indicatorwidth属性:30

    7.内容清空

    Gridview.columns.clear();

    8.显示列内容转换

    CustomColumnDisplayText函数

    if (e.Column==this.gvUser.Columns["用户角色"])

    //或者if(e.Column.FieldName=="用户角色")

                {

                    DataRow row = gvUser.GetDataRow(e.RowHandle);

                    string value=row["用户角色"].ToString();

                    if (value == "1")

                    {

                        e.DisplayText ="管理员";

                    }

                    else

                        e.DisplayText ="操作员";

                }

            }

    9.给GridControl添加按钮列 (在已有数据上)

    首先看绑定的datatable,给gridcontrol 添加相同名称的列,然后再添加一列按钮列,
       把列的ColumnEdit属性设置为RepositoryItemButtonEdit
       把TextEditStyle属性设置为HideTextEditor;
       把Buttons的Kind属性设置为Glyph; 把Button的Caption用于设置文字
       把Buttons的HorzAlignment属性设置为Near;
       如果要用到事件的话,还要注册事件。。。
       列名.ButtonClick += newButtonPressedEventHandler(列名_ButtonClick);

    按钮需要响应点击的话还需要设置

    在GridControl的设计器中Repository页中的In-place EditorRepository项中
    在右边的Repository栏中找到你的ButtonEdit,选它的事件属性页,ButtonClick

    同时需要注意的是: 有时注册了单击事件 但是没反应,是因为设置了Editable 的属性为False!

    10.单元格中内容显示在单元格左侧

    private void textAligmentLeft(DevExpress.XtraGrid.Views.Grid.GridView gv)

            {

                inttextalign = gv.Columns.Count -1;

                while (textalign >= 0)

                {

                    gv.Columns[textalign].AppearanceCell.TextOptions.HAlignment= HorzAlignment.Near;

                    textalign--;

                }

            }

    11.添加combox列

      DataColumnclCheck = newDataColumn("选择");

    clCheck.DataType = System.Type.GetType("System.Boolean");

    dt1.Columns.Add(clCheck);

    gridcontrol.DataSource = dt1;


    选中的列

    for (int i= 0; i < gridView1.RowCount; i++)

                    {

                        value = gridView1.GetDataRow(i)["选择"].ToString();

                        if (value=="True")

                        {

                            XXXxxxxx

                        }

                    }

  • 相关阅读:
    在非控制台程序中打印出printf
    如何将动态链接库(C++ DLL)中的printf显示在其被调用的程序控制台上
    Android NDK Build 参数
    查找包含××××××字符的文件名
    Ubuntu安装Fcitx(小企鹅五笔输入法)
    查询所有表的记录数SQLServer
    查询某个表或者所有表的字段说明 SQLServer
    安卓64位Ubuntu的32位包安装
    gen already exists but is not a source folder ZT
    mysql中查看datadir目录
  • 原文地址:https://www.cnblogs.com/suncarry/p/2514702.html
Copyright © 2011-2022 走看看