0

データベースからロードされたDataGridView要素があります。
問題は、いくつかの行にボタンを表示したい (一部の要素にはこのボタンが必要で、一部の要素には不要)、方法がわからないことです。
私が今持っている唯一のものは、「削除」ボタンをすべての行に表示するこのコードです。

DataGridViewButtonColumn btnDelete = new DataGridViewButtonColumn();
dataGridView.Columns.Add(btnDelete);
btnDelete.Text = "Delete";
btnDelete.UseColumnTextForButtonValue = true;

助けてくれてありがとう!

4

1 に答える 1

0

これを行うには、ボタンを配置するセルに DataGridViewButtonCells を挿入します。

例えば:

var cell = new DataGridViewButtonCell();
cell.Value = "Button text"
cell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
dataGrid.Rows[rowIndex].Cells[columnIndex] = cell;

列はボタン列である必要はありません。たとえば、テキストボックス列でもかまいません。

または、逆にボタン列を作成して、次のようにすることもできます。

for (int i = 0; i < dataGrid.Rows.Count; i++)
    if (i % 2 == 1) // whatever the condition is
        dataGrid.Rows[i].Cells[COLUMN_WITH_BUTTONS] = new DataGridViewTextBoxCell();

セルに表示される内容を制御するフラグ (追加する) を持つカスタム データグリッド列とセル タイプ (必要なものに最も近いものから継承) を作成することもできます。

グリッド全体に対してこれをすぐに行う必要はありません。グリッドはいつでも変更できます。たとえば、セルを適切なタイプに設定する関数を作成し、何かが発生したときに呼び出すことができます (イベント ハンドラーなど)。

于 2012-08-06T10:58:18.423 に答える