在datagridview c#中在运行时逐个替换字符串#

时间:2013-07-29 07:53:39

标签: c# search datagridview replace

我已经设法在run-time替换datagridview中的所有字符串。现在我想在点击按钮时逐个替换字符串。这是替换单个字符串上的所有字符串的代码按钮单击。

private void button9_Click_1(object sender, EventArgs e)
{
        var original = ((DataTable)dataGridView1.DataSource);
        var clone = original.Clone();
        var ordinal = original.Columns["Stringtext"].Ordinal;
        var tra = original.Columns[6].Ordinal;
        var che = original.Columns[10].Ordinal;
        for (int i = 0; i < original.Rows.Count; i++)
        {
            var values = original.Rows[i].ItemArray;
            if (Convert.ToBoolean(values[tra].ToString()) && Convert.ToBoolean(values[che].ToString()))
            {
                values[ordinal] = ((values[ordinal].ToString()).ToLower())
                    .Replace(textBox6.Text.ToLower(), textBox7.Text);
                clone.Rows.Add(values);
            }
            else
            {
                values[ordinal] = values[ordinal];
                clone.Rows.Add(values);
            }
        }
        dataGridView1.DataSource = clone;
        string filterBy;
        filterBy = "Stringtext Like '%" + textBox7.Text + "%'";
        ((DataTable)dataGridView1.DataSource).DefaultView.RowFilter = filterBy;
}

我想在点击一个按钮时替换一行中的单个字符串,然后在下一个按钮上单击该行中的下一个字符串被replace.etc.any想法?

1 个答案:

答案 0 :(得分:1)

执行您想要的操作的简单方法是保持计数器用户按下按钮的次数。这样你可以告诉这是用户点击按钮的第1,第2或第3次,所以更换所需的单元格       private int counter = 0;

  private void button1_Click(object sender, EventArgs e)
  {
     // change the cell = counter
     counter++;
  }