1

を使用して datagridview を検索しましたRowFilter。ここで、行に含まれるこれらのテキストを他のテキストに置き換える必要があります。

それ、どうやったら出来るの?

private void button7_Click_3(object sender, EventArgs e)
{
    string filterBy;
    filterBy = "Stringtext Like '%" + textBox6.Text + "%'";
    ((DataTable)dataGridView1.DataSource).DefaultView.RowFilter = filterBy;
}

何か案は?

4

1 に答える 1

1

以下のメソッドは、 のデータ ソースをdataGridView1として取得し、DataTableそれを新しい に複製しDataTableます。Rows次に、元の のコレクションを解析し、検索した値 ( で指定) を列の値にDataTable置き換え、変更された行を複製されたデータ テーブルに追加します。最後に、グリッドのデータ ソースを変更されたテーブルに割り当てます。textBox6.Text_TEST_Stringtext

private void button7_Click_3(object sender, EventArgs e)
{
    var original = ((DataTable)dataGridView1.DataSource);
    var clone = original.Clone();
    var ordinal = original.Columns["Stringtext"].Ordinal;
    for (int i = 0; i < original.Rows.Count; i++)
    {
        var values = original.Rows[i].ItemArray;
        values[ordinal] = values[ordinal].ToString()
            .Replace(textBox6.Text, "_TEST_");
        clone.Rows.Add(values);
    }
    dataGridView1.DataSource = clone;
}
于 2013-07-23T08:20:18.550 に答える