c# - C# datagrid 特定单元格可编辑
问题描述
我想启用特定的单元格进行编辑。
我的 datagridview 是只读错误的。
在单元格上单击我得到我的 columnindex 并尝试做:
if (e.ColumnIndex == 7)
{
if (String.IsNullOrEmpty(Convert.ToString(dgv.Rows[e.RowIndex].Cells["id"].Value)))
{
dgv.Columns[e.ColumnIndex].ReadOnly = true;
}
else
{
dgv.Columns[e.ColumnIndex].ReadOnly = false;
dgv.BeginEdit(true);
dgv.Rows[rowindex].Cells[columnindex].Selected = true;
}
}
没有成功,我的手机保持禁用状态。有人可以帮忙吗。谢谢
解决方案
我用这段代码解决了我的问题:
private void dgvLocataire_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
dgvLocataire.BeginEdit(false);
var ec = dgvLocataire.EditingControl as DataGridViewComboBoxEditingControl;
if (ec != null && ec.Width - e.X < SystemInformation.VerticalScrollBarWidth)
ec.DroppedDown = true;
if ((e.ColumnIndex != 5) && (e.ColumnIndex != 6) && (e.ColumnIndex != 7))
{
dgvLocataire.Columns[e.ColumnIndex].ReadOnly = true;
}
}
谢谢你的帮助
推荐阅读
- r - 使 renderUI 成为 observeEvent 的输入
- pandas - 如何在 Pandas、Python 中对这些数据进行分组?
- vue.js - Vuex getter 实时更新 audio.currentTime 状态
- angular - 在 debounceTime 处于活动状态时获取所有更改
- postgresql - Postgres 会话被 PID 0 阻止(因为 .Net 核心事务?)
- asp.net - 为什么没有“IQueryable”的实现
.ToLookupAsync(x => x.Bar)' - git - 如何保护 git 中的 master 分支不被合并
- ace-editor - 如何在 ace 编辑器中使用 (.) 句点和 Ctrl_space 触发两个不同的自定义自动完成器
- laravel - 使用 Laravel 标记动态创建的复选框已选中
- xslt - 删除 xslt 中没有主体的节点