DevExpress的控件GridControl光标定位到某一个单元格

gridView1是GridControl的  

 

this.gridView1.FocusedRowHandle = 1;//行标
            this.gridView1.FocusedColumn = this.dictCode;//某一列
            this.gridView1.ShowEditor();//打开行编辑

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以通过以下步骤实现: 1. 在第三列中添加一个按钮,可以使用 GridColumn 的 ColumnEdit 属性来添加一个 RepositoryItemButtonEdit 控件。 2. 在 GridControl 的 InitNewRow 事件中,为第二列单元格赋初值,如: ``` private void gridControl1_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e) { gridView1.SetRowCellValue(e.RowHandle, "Column2", true); } ``` 3. 在 GridControl 的 CellValueChanged 事件中,判断是否是第三列按钮的点击事件,如果是,则根据点击行的第二列单元格的值来控制该行所有第二列单元格的可编辑状态,如: ``` private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { if (e.Column.FieldName == "Column3" && e.Value != null && (bool)e.Value == true) { int rowHandle = gridView1.FocusedRowHandle; gridView1.SetRowCellValue(rowHandle, "Column2", true); gridView1.Columns["Column2"].OptionsColumn.AllowEdit = true; gridView1.UpdateCurrentRow(); } else { int rowHandle = gridView1.FocusedRowHandle; gridView1.SetRowCellValue(rowHandle, "Column2", false); gridView1.Columns["Column2"].OptionsColumn.AllowEdit = false; gridView1.UpdateCurrentRow(); } } ``` 以上代码假设第二列的列名为 "Column2",第三列的列名为 "Column3"。这样就可以通过点击某行第三列按钮来控制该行所有第二列单元格的可编辑状态了。注意,在更改某一行的数据时需要调用 UpdateCurrentRow() 方法进行更新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值