我有一个包含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);
}
}
这似乎没有按预期工作。还有什么好主意吗?
答案 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;
这可以帮助你......