10

私はいくつかのデータグリッドビューを持つ WinForms アプリケーションを持っています。そのうちの 1 つに、画像を動的に入力する列があります。以下のスクリーンショットを含めました。

スクリーンショット

セルの多くは、画像を生成するための要件を満たしていないため、空に見えます。ただし、これが発生すると、アプリケーションはデフォルトの赤い X を表示して画像を表示しません。このデフォルトの画像を表示するのではなく、セルが単に空に見えるようにしたい.

空白のイメージを作成しようとしましたが、これにより独自の問題が発生します。つまり、私の datagridview には行の後ろの色が交互にあるため、白い画像が灰色の行に対して表示され、その逆も同様です。

実際、他の画像のいずれかの実行時の要件が満たされていない場合、列にまったく表示されないnull /空または透明な画像が必要です。

完全を期すために、現在使用しているコードは次のとおりです。

foreach (DataGridViewRow row in dataCaseHistory.Rows)
{                    
    DataGridViewCell cell = row.Cells["DocID"];
    if (cell.Value.ToString().Length > 0)
    {
        if (((int)cell.Value) % 2 == 0)
        {
            row.Cells["Doc"].Value = (System.Drawing.Image)Properties.Resources.Paperclip___done;
        }
        else
        {
            row.Cells["Doc"].Value = (System.Drawing.Image)Properties.Resources.Bundle___done;
        }
    }
    else
    {
         row.Cells["Doc"].Value = null;
    }
}

イメージを選択するためのロジック テストは一時的なものです。画像の選択に実際のより複雑な基準を適用する前に、物事を設定しようとしています。

4

1 に答える 1

14

これを試して:

コンストラクター内の InitializeComponent() 呼び出しの後に、これを入れます。

yourGrid.Columns["Doc"].DefaultCellStyle.NullValue = null;
于 2012-12-06T13:44:59.993 に答える