2011-11-18 44 views
0

我有这样的代码,我手动值加载了我的DataGridView:DataGridViewCheckBox不立即显示正确的值。这是一个错误?

void LoadRulesFromTemplate() 
    { 
     if (dgv.Columns.Count == 0) return; 
     foreach (var r in _template.Rules.GetList()) 
     { 
      var i = dgv.Rows.Add(); 
      dgv.Rows[i].Cells["Source"].Value = r.SourceFieldName; 
      dgv.Rows[i].Cells["Destination"].Value = r.DestFieldName; 
      dgv.Rows[i].Cells["Key"].Value = r.Key; 
      dgv.Rows[i].Cells["Aggregate"].Value = r.Aggregate; 
     } 
    } 

有一个加载现有文件按钮,并在这一过程中这是获取运行代码的最后一块。 DataGridView用于在这一点上完美刷新,但后来我添加了一个DataGridViewcheckBoxColumn。除了焦点开始的第一行以外,它完全更新该列。但是,当你点击任何其他单元格时,它会突然修复它自己。

这是一个错误还是我错过了什么?

回答

1

只是一个猜测,但尝试设置选择为NULL加载后的数据:

dgv.CurrentCell = null; 

我不知道为什么会这样,但如果是只与第一排,这通常被选中,这可能有帮助。

+0

谢谢!这肯定比我的第一个解决方案更好,它将选定的行移动到另一行,然后返回到第一个行。 –

相关问题