zoukankan      html  css  js  c++  java
  • DEV 中 gridControl1添加checkbox 列

    直接在 gridControl1.DataSource要绑定的表里dt增加一个BOOL列dt.Columns.Add("isCheck", System.Type.GetType("System.Boolean")).SetOrdinal(0);即可。但是记得gridControl1需要绑定isCheck列,才能显示出复选框。

    设置为多选:
    gridView1 .OptionsSelection.MultiSelect = true;
    gridView1 .OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;

    但是这样有一个BUG。就是不能马上捕捉复选框的改变事件。只能通过gridView1_CellValueChanged等来捕捉,但是有时候我们需要改变的时候就马上捕捉。

    我们对之前的改造:

    在gridControl增加一个编辑列,把编辑列设置为复选框

    然后在页面加载的时候把这个的改变事件加入:

    private void InitCheckItems()
            {
                repositoryItemCheckEdit1.CheckedChanged += new EventHandler(repositoryItemCheckEdit1_CheckedChanged);
            }
            void repositoryItemCheckEdit1_CheckedChanged(object sender, EventArgs e)
            {
                CheckState check = (sender as DevExpress.XtraEditors.CheckEdit).CheckState;
                if (check == CheckState.Checked)
                {
                    你自己要处理的事件
                }
            }

    即可。

    上面那样的代码,我们可以实现动态的选择。但是有一个小BUG,就是当我们点击选择的时候需要点击2次才能是选中状态。但是这样用户体验度极差!

    我们需要在这里改造一下:

    在给数据源添加BOOL列的时候,需要循环给该列赋值

    foreach (DataRow _Dr in DtUnit.Rows)
                    _Dr["isCheck"] = false;

    然后把属性EditorShowMode = MouseDown即可。

    https://blog.csdn.net/lijingrong_ljr/article/details/51698386

  • 相关阅读:
    ST-Link STVP Cannot communicate with the device!
    IAR stm8带库的工程模板
    centos7和redhat7的比特币环境搭建
    比特币Bitcoin源代码安装编译
    Golang1.8编译静态库给C使用
    Go与C语言的互操作
    彻底解决mysql中文乱码
    Androidndk开发打包时我们应该如何注意平台的兼容(x86,arm,arm-v7a)
    Android NDK生成及连接静态库与动态库
    android NDK 使用(多个)静态库生成动态库
  • 原文地址:https://www.cnblogs.com/xihong2014/p/13623931.html
Copyright © 2011-2022 走看看