单元格值文本不会出现

时间:2014-09-08 20:37:15

标签: c# .net winforms datagridview

我正在使用VS 2012 Windows窗体datagridview控件。网格的数据源是一个JObject,但是我有一个预定义的列,它应该显示来自其中一个数据源单元的数据,这也是一个JObject。将数据源分配给网格后,我遍历行并添加新值。但它不能正常运作。

for (int i = 0; i < dgv.RowCount; i++)
{
    JObject account = JsonConvert.DeserializeObject<JObject>(dgv.Rows[i].Cells["incomeAccount"].Value.ToString());
    dgv.Rows[i].Cells["account"].Value = account["accountName"];
}

此控制台输出实际显示正确的文本,例如“John Smith”。在网格加载完成后,该colunm中的单元格全部为空白。 datagridview列不是只读的。还有什么我需要做的才能让新数据出现吗?

2 个答案:

答案 0 :(得分:1)

DataGridView喜欢数据绑定。创建具有要查看的属性的对象数组,然后将该数组设置为DataGridView.DataSource属性。 http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.datasource(v=vs.110).aspx

答案 1 :(得分:0)

网格必须是数据绑定后更新单元格值的主动控件。在for循环之前调用dgv.focus()修复了我的问题。