2

条件に基づいて列の値またはセルの値を変更することはできますか?

DataGridView2つの数値のうち最大のものを見つけるために、(つまり)に3つの列があると考えてください

からの入力DataGridViewは SQL Server から取得されます。

最初の Datagridview 列は A で、2 番目の列は B で、3 番目の列は A が B より大きいかどうかを調べるためのものです。条件が満たされている場合は、テキストを表示する"TRUE""FALSE"、3 列目に表示する必要があります。

4

4 に答える 4

1

ここで同様の質問に答えましたDataGridViewのセル値の変更

イベントにご利用いただけますDataGridView.CellFormatting。あなたの場合、3番目のセルをフォーマットする必要があるときに、行ごとに他のセルの値を取得する必要があります。

以下のサンプル コードでは、次のことを前提としています。

  • 値はint:DataGridView適切な変換を行う必要があります。
  • いいえNullDbNull値: 必要に応じて null 値を確認する必要があります。

void dgv_CellFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
{
    if (e.ColumnIndex == 2) {
        if (Convert.ToInt32(this.dgv.Rows[e.RowIndex].Cells[0].Value) > Convert.ToInt32(this.dgv.Rows[e.RowIndex].Cells[1].Value)) {
            e.Value = "TRUE";
        } else {
            e.Value = "FALSE";
        }
        e.FormattingApplied = true;
    }
}
于 2013-08-31T17:19:51.333 に答える