C# 按linq添加新行Datagridview
我试图实际地向dataGrid添加新行。首先,代码检查该行是否不存在,如果不存在,则放入新行;否则它不会在DatagridView中输入该行 我的代码的问题是它会连续循环,在事件触发时添加相同的行 这是我的密码:C# 按linq添加新行Datagridview,c#,datagridview,C#,Datagridview,我试图实际地向dataGrid添加新行。首先,代码检查该行是否不存在,如果不存在,则放入新行;否则它不会在DatagridView中输入该行 我的代码的问题是它会连续循环,在事件触发时添加相同的行 这是我的密码: public static void addJobstoDespatchGrid(DataGridView jobDataGridView) { using (DBEntities db = new DBEntities()) {
public static void addJobstoDespatchGrid(DataGridView jobDataGridView)
{
using (DBEntities db = new DBEntities())
{
var data = (from a in db.Active where a.Status == "Hold"
select a);
foreach (var row in Data)
{
if (GridView.RowCount >= 0)
{
foreach (DataGridViewRow r in GridView.Rows)
{
Int32 id = Convert.ToInt32(r.Cells[0].Value);
if (row.jobID !=id)
{
DataGridViewRow rw = new DataGridViewRow();
rw.CreateCells(GridView);
rw.Cells[0].Value = row.jobID;
rw.Cells[1].Value = row.JobType;
rw.Cells[2].Value = row.dateTime;
rw.Cells[3].Value = row.jobStatus;
GridView.Rows.Add(rw);
}
}
}
else
{
DataGridViewRow rw = new DataGridViewRow();
rw.CreateCells(GridView);
rw.Cells[0].Value = row.jobID;
rw.Cells[1].Value = row.JobType;
rw.Cells[2].Value = row.dateTime;
rw.Cells[3].Value = row.jobStatus;
GridView.Rows.Add(rw);
}
}
}
}
事实上,我使用的是定时器控制功能,设置间隔为5秒,每5秒它将使同一行加倍。是否停止定时器?不,定时器应运行,窗体打开,这是应用程序要求。我只希望代码只在datagrid视图中输入唯一的数据表单Database,但我的代码每次都会在timer Event上复制行当网格中存在具有相同jobId的行时,您的代码应该做什么?实际上,您正在为JobId不是给定id的网格中的每一行添加新行。当存在具有相同id的行时,它不应该在数据网格中添加该行。这就是我想要的@Chris