Visual studio 还有谁见过这个datagridview bug吗?
有人能解释一下吗 这很有效Visual studio 还有谁见过这个datagridview bug吗?,visual-studio,winforms,datagridview,Visual Studio,Winforms,Datagridview,有人能解释一下吗 这很有效 TrandetlDataGridView.ReadOnly = False TrandetlDataGridView.CurrentRow.ReadOnly = True 这是不可能的 TrandetlDataGridView.ReadOnly = True TrandetlDataGridView.CurrentRow.ReadOnly = False 如果网格只读属性设置为true,则DataG
TrandetlDataGridView.ReadOnly = False
TrandetlDataGridView.CurrentRow.ReadOnly = True
这是不可能的
TrandetlDataGridView.ReadOnly = True
TrandetlDataGridView.CurrentRow.ReadOnly = False
如果网格只读属性设置为
true
,则DataGridView.ReadOnly
属性将覆盖任何行/列/单元格只读属性。这可以在第二个发布的代码“不”中看到
根据备注部分中的DataGridViewRow.ReadOnly
属性文档
如果
DataGridView.ReadOnly属性为true
一种可能的解决方案是将“grids”只读属性保留为false
,然后循环遍历网格行,并将每行的只读属性设置为true
。然后,它应该像预期的那样工作
下面的例子是用C#编写的,但是使用VB也可以应用相同的思想
首先,使用一种方法在网格中循环,并将每行的只读属性设置为true
private void SetRowsReadOnly() {
foreach (DataGridViewRow row in TrandetlDataGridView.Rows) {
row.ReadOnly = true;
}
}
然后,使用您的“不工作”示例,将设置grids read only属性替换为调用上述方法,它应该可以按预期工作
private void button2_Click(object sender, EventArgs e) {
SetRowsReadOnly();
TrandetlDataGridView.CurrentRow.ReadOnly = false;
}
希望这能有所帮助。我的问题是,你为什么要做后者?如果当前行总是可编辑的,网格的默认行为基本相同。我不需要使用第一个示例。我只是觉得很有趣,它确实是这样工作的,但不是另一种。谢谢你,我会试试这个,让你知道。这个工作非常好。谢谢你,这让我快发疯了。