我想知道是否可以在DataGrid中禁用特定的单元格编辑,而无需在Silverlight 4中禁用整个列的编辑.我可以将特定的单元格对象作为FrameworkElement获得,但它不包含属性IsReadOnly或IsEnabled.
您可能会问:为什么我需要那?好吧,我的应用程序需要根据其他单元格内容来禁用特定行中的单元格.每行都以这种方式分别检查.
如果您对如何实现这种不正常的行为有任何想法,请写信;)
解决方法:
如果您具有要禁用的一个或多个单元格的行,列索引:
int r = 2, c = 4;
然后,您可以监听事件CellEnter和CellLeave并执行以下操作:
private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == r)
{
if (e.ColumnIndex == c)
{
dataGridView1.Columns[e.ColumnIndex].ReadOnly = true;
}
}
}
private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == r)
{
if (e.ColumnIndex == c)
{
dataGridView1.Columns[e.ColumnIndex].ReadOnly = false;
}
}
}
您仍然将整个列设置为“只读”,但是由于您在离开单元格后将其重置为原来的效果,因此看起来只对该单元格有效.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。