0

実行時に datagridview 内のすべての文字列を置き換えることができました。ボタンのクリックで文字列を 1 つずつ置き換えたいと思います。これは、1 回のボタン クリックですべての文字列を置き換えるためのコードです。

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;
}

ボタンのクリックで行の単一の文字列を置き換えたいのですが、次のボタンをクリックすると、行の次の文字列が置き換えられます.etc.何かアイデアはありますか?

4

1 に答える 1

1

必要なことを行う簡単な方法は、ユーザーがボタンを押した回数をカウントすることです。そうすれば、これがユーザーがボタンをクリックした 1 回目、2 回目、または 3 回目であることがわかり、必要なセルのプライベート int カウンター = 0; を置き換えます。

  private void button1_Click(object sender, EventArgs e)
  {
     // change the cell = counter
     counter++;
  }
于 2013-07-29T07:57:30.233 に答える