C# 按linq添加新行Datagridview

C# 按linq添加新行Datagridview,c#,datagridview,C#,Datagridview,我试图实际地向dataGrid添加新行。首先,代码检查该行是否不存在,如果不存在,则放入新行;否则它不会在DatagridView中输入该行 我的代码的问题是它会连续循环,在事件触发时添加相同的行 这是我的密码: public static void addJobstoDespatchGrid(DataGridView jobDataGridView) { using (DBEntities db = new DBEntities()) {

我试图实际地向dataGrid添加新行。首先,代码检查该行是否不存在,如果不存在,则放入新行;否则它不会在DatagridView中输入该行

我的代码的问题是它会连续循环,在事件触发时添加相同的行

这是我的密码:

 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