如何将数据插入DataGridView中的特定列?

How to insert data to a specific column in a DataGridView?

提问人:user3177511 提问时间:12/28/2021 更新时间:12/28/2021 访问量:1425

问:

我有一个 dataGridView,有 5 列,我在其中输入我的矩形坐标并自动索引。因此,索引会随着每个新坐标集的增加而增加。索引号在第一列输入,坐标在第二列输入。我有一个数组,用于存储坐标和索引号,我在矩形中处理图像,并希望在 datagridview 的相应第三列中输入结果数据。例如,如果我在第 4 行处理矩形,我想在第 4 行的第 3 列中输入结果数据。

我尝试了以下方法,但没有用:

    for (int i = 0; i < pb1rectincrcam4; i++)
            {


                framecam4.ROI = PB1Rectcam4[i];
                framefullcam4.CopyTo(framecam4);
                Bitmap bitmap2 = framefullcam4.Bitmap;
               
                    Tesseract tesseract = new Tesseract();
                tesseract.Init("C:\\Language\\English", "eng", false);
              var wordList = tesseract.DoOCR(bitmap2, Rectangle.Empty);
                foreach (Word word in wordList)
                {
           
                   
                    CvInvoke.cvPutText(resultimg, word.Text,new System.Drawing.Point( PB1Rectcam4[i].X, PB1Rectcam4[i].Y) , ref font, color);
                  
                    listBox1.Items.Add(word.Text.ToString());
                    g.DrawRectangle(PB1Rectpencam4[i], PB1Rectcam4[i]);
                    pictureBox5.Image = resultimg.Bitmap;

                    DataGridViewRow dr = new DataGridViewRow();
                    dr.CreateCells(dataGridView1);
                    dr.Cells[i].Value = word.Text;
                    dataGridView1.Rows.Insert((i),dr);
                 

                }

它始终将数据添加到第一行。请帮我解决这个问题。

C# .NET 可视化工作室 2010 DataGridView

评论

0赞 Reza Aghaei 12/28/2021
创建一个包含两个属性的模型,一个用于矩形坐标,一个用于 OCR 结果。然后使用数据绑定在 datagridview 中显示 BindingList<yourmodel>。

答:

1赞 user3177511 12/28/2021 #1

找到了。

我们可以直接将值添加到所选行的选定列中:

dataGridView1[5, (i)].Value = "Data";