DevExpress GridControl控件行内新增、编辑、删除添加选择框(转)

http://blog.csdn.net/m1654399928/article/details/21951519

1.首先到GridControl控件设计里设置属性Repository    (In-place EditorRepository)  如下图(CheckEdit可以不添加,这是本人根据自己需求添加的):

         主要设置两个两个属性 NullText,Name

     2.绑定数据

        关键代码如下:

            DataTable dt = dbHelp.GetDataSql("select TS_NO,TS_NAME ,TS_LONGITUDE,TS_LATITUDE,TS_RANK from  dbo.LPTE_TS");
            grStation.DataSource = null;             gvStation.Columns.Clear();             grStation.DataSource = dt;
            gvStation.Columns["TS_NO"].Visible = false;             gvStation.Columns["TS_NAME"].Visible = true;             gvStation.Columns["TS_NAME"].Caption = "名称";             gvStation.Columns["TS_NAME"].VisibleIndex = 1;             gvStation.Columns["TS_RANK"].Visible = true;             gvStation.Columns["TS_RANK"].Caption = "等级";             gvStation.Columns["TS_RANK"].VisibleIndex = 2;             gvStation.Columns["TS_LONGITUDE"].Caption = "经度";             gvStation.Columns["TS_LATITUDE"].Caption = "纬度";

            GridColumn addLinkHiper = new GridColumn();             addLinkHiper.Caption = "新增";             addLinkHiper.Visible = true;
            addLinkHiper.ColumnEdit = stationAdd;             gvStation.Columns.Add(addLinkHiper);             addLinkHiper.VisibleIndex = 5;
            GridColumn editLinkHiper = new GridColumn();             editLinkHiper.Caption = "编辑";             editLinkHiper.Visible = true;
            editLinkHiper.ColumnEdit = stationEdit;             gvStation.Columns.Add(editLinkHiper);             editLinkHiper.VisibleIndex = 6;
            GridColumn delLinkHiper = new GridColumn();             delLinkHiper.Caption = "删除";             delLinkHiper.Visible = true;
            delLinkHiper.ColumnEdit = stationDel;             gvStation.Columns.Add(delLinkHiper);             delLinkHiper.VisibleIndex = 7;
            gvStation.BestFitColumns();

            以上数据已全部绑定完成

    3.触发事件

            在上图中点击事件Click,新增不多说,弹出新窗体即可 

          //编辑         private void stationEdit_Click(object sender, EventArgs e)         {             int[] selectRows = gvStation.GetSelectedRows();             //赋值             int tsNo = Convert.ToInt32(gvStation.GetRowCellValue(selectRows[0], "TS_NO"));  //TS_NO是控件列名

            //具体操作因人而异

           ......         }   

         //删除         private void stationDel_Click(object sender, EventArgs e)         {             if (MessageBox.Show("确定删除所选数据?", "删除提示", MessageBoxButtons.OKCancel) == DialogResult.OK)             {
                int[] selectRows = gvStation.GetSelectedRows();                 //赋值                 int  tsNO = Convert.ToInt32(gvStation.GetRowCellValue(selectRows[0], "TS_NO"));
               //写sql语句执行删除操作就可以了。             }
        }

最后贴一张效果图:

原文地址:https://www.cnblogs.com/xihong2014/p/8232712.html