C#-如何将在DataGridView中搜索的行复制到新的DataGridView

时间:2019-06-27 12:24:55

标签: c# datagridview textbox

我有一个程序,它涉及食物及其热量。我在DataGridView1中显示数据。如果我的DataGridView1在TextBox中包含搜索到的文本,我想将行复制到DataGridView2。我的DataGridView1看起来像这样:

                  Food                    Calorie
           ------------------------------------------
                 Bread                       80
                 Tea                         0
                 ...                         ...

所以,这是我的代码:

      private void button5_Click(object sender, EventArgs e)
      {
          var searchedText = textBox1.Text;
          foreach(DataGridViewRow dgwr in dataGridView1.Rows)
          {
              if (Convert.ToString(dgwr.Cells[0].Value).Contains(searchedText))
              {
                  var filteredRow = (DataGridViewRow)dgwr.Clone();
                  foreach (DataGridViewCell mySearchedCells in dgwr.Cells)
                  {
                      filteredRow.Cells[mySearchedCells.ColumnIndex].Value = mySearchedCells.Value;
                  }
                  dataGridView2.Rows.Add(filteredRow);
              }
          }
      }

P.S。 :它不起作用,也不会出错。

1 个答案:

答案 0 :(得分:0)

好,我解决了。我将所有DataGridViews列的ReadOnly属性都更改为false。