DevExpress中GridControl中添加编辑按钮行

639 阅读1分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第19天,点击查看活动详情

 DevExpress中GridControl中添加编辑按钮行

以下为内容以图片居多1234表示点击顺序

先新增一行 操作和新增数据行一样

a

打开ColumnEdit  选择new ButtenEdit  new上方会出现一个系统命名的button

命名可以更改必须在下发name中更改 是行的name

                         二

                        

                           

                             

                               

进入click事件就和普通的按钮一样了 可以编写自己的代码了

一下代码是设计器中的代码 供大家参考

// gridColumn_update
            // 
            this.gridColumn_update.Caption = "修改";
            this.gridColumn_update.ColumnEdit = this.repositoryItemButtonEdit_update;
            this.gridColumn_update.FieldName = "gridColumn_update";
            this.gridColumn_update.Name = "gridColumn_update";
            this.gridColumn_update.UnboundType = DevExpress.Data.UnboundColumnType.Decimal;
            this.gridColumn_update.Visible = true;
            this.gridColumn_update.VisibleIndex = 5;
            // 
            // repositoryItemButtonEdit_update
            // 
            this.repositoryItemButtonEdit_update.AutoHeight = false;
            serializableAppearanceObject1.Options.UseTextOptions = true;
            serializableAppearanceObject1.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
            this.repositoryItemButtonEdit_update.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
            new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph, "修改", -1,           true, true, false, DevExpress.XtraEditors.ImageLocation.MiddleCenter, null, new DevExpress.Utils.KeyShortcut(System.            Windows.Forms.Keys.None), serializableAppearanceObject1, "", null, null, true)});
            this.repositoryItemButtonEdit_update.Name = "repositoryItemButtonEdit_update";
            this.repositoryItemButtonEdit_update.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
            this.repositoryItemButtonEdit_update.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(th          is.repositoryItemButtonEdit_update_ButtonClick);

 

 DevExpress中GridControl中实现checkbox多行选中

先看一下效果吧!

11  12  13为我选中的行的主键号

实现以上效果进行批量修改 删除的做法

首先添加一个正常的gridcontrol 绑定数据列

然后插入一个空白列

设置如下

更改一下属性

在我们要绑定的容器中添加一个新列

我用的是DataTable 在DataTable中添加一个新列代码如下

            //新建一个数据表 probll.GetProductAll自己写的方法
            DataTable db = probll.GetProductAll(4, pageIndex, "申请中", 0, out pageCount);
            //在表中增加一个列 add(列名,列类型)
            db.Columns.Add("check", typeof(bool));
            //给每一行的该列赋值
            for (int i = 0; i < db.Rows.Count; i++)
            {
                db.Rows[i]["check"] = "false";
            } 

注意:新增列的类型为bool类型

设置可以多选

gridView1 .OptionsSelection.MultiSelect = true; 

gridView1 .OptionsSelection.MultiSelectMode = DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect;

设置获取选中行的需要值

          string value="";  
          string strSelected="";  
            for (int i = 0; i < gridView1.RowCount; i++)  
           {   //   获取选中行的check的值       
               value = gridView1.GetDataRow(i)["check"].ToString();  
               if (value == "True")  
               {
                 // productid 是我绑定数据表的字段 可以自己根据需求定义 这样就可以实现文中开始处的功能了                
                 strSelected += gridView1.GetRowCellValue(i, "productid");
                }             
           }