在Window应用程序中更新datagridview

时间:2010-12-24 09:41:49

标签: c# datagridview

我有一个包含6列ID,A,B,C,D和E的表.ID是主键。 第三方应用程序不断更新D列和E列 向表中添加新行。

我想将此表显示给datagridview控件。我试图在5秒后更新它。到目前为止,我已经尝试过:

表可能有3到100条记录。

// dt是一个带有新数据的DataTable

// dtPos是DataTable当前绑定到datagridview

foreach (DataRow r in dt.Rows)
{
    dtPos.DefaultView.RowFilter = "ID = '" + r["ID"].ToString() + "'";
    if (dtPos.DefaultView.Table.Rows.Count > 0)
    {
        dtPos.DefaultView.Table.Rows[0]["D"] = r["D"];
        dtPos.DefaultView.Table.Rows[0]["E"] = r["E"];
    }
    else
    {
        dtPos.Rows.Add(r);
    }
}

这似乎没有按预期工作。还有什么好主意吗?

1 个答案:

答案 0 :(得分:1)

嗨,我建议你在gridview本身上面完成你的任务,这样你就可以立即进行表格中的操作,然后将其分配回datagridview。 dgv有添加行方法,所以你可以直接在dgv中添加行。

当你需要添加新行时使用这样的

dgv.Rows.Add(1,2,3,4,4,5);

当你需要更改单元格的值时

dgv.rwos[roindex].cells[cellindex].value = xxx; //your new value;

这可以帮助你......