0

私のプログラムのUIで遊んでいて、同じ行のセルと比較してそのセルに色を割り当てる小さな機能があります。私が実際に望んでいるのは、そのセルに画像の上向き矢印または下向き矢印を追加するだけです。残念ながら、私が信じがたいと思うライナーはないようです。

これが私の現在のコードです:

DataGridViewImageCell p1 = new DataGridViewImageCell();

ParetoGrid.Columns.Add(new DataGridViewColumn() { CellTemplate = p1, FillWeight = 1, HeaderText = "p1", Name = "p1", Width = 30});




private void ShowArrow()
    {
        foreach (DataGridViewRow paretoRow in ParetoGrid.Rows)
        {
            if ((paretoRow.Cells["Pareto6"].Value != null) &&   (Convert.ToInt32(paretoRow.Cells["CurrentPareto"].Value) < (Convert.ToInt32(paretoRow.Cells["NewPareto"].Value))))
            {
                paretoRow.Cells["p1"].Value = //image?;
            }
            else if ((paretoRow.Cells["Pareto6"].Value != null) && (Convert.ToInt32(paretoRow.Cells["CurrentPareto"].Value) > (Convert.ToInt32(paretoRow.Cells["NewPareto"].Value))))
            {
                ParetoGrid.Rows[paretoRow.Index].DefaultCellStyle.BackColor = Color.LightGreen;
            }


        }
    }

ワンライナーがあることを誰かが知っていることを願っています。ああ、画像も追加したい列は DataGridViewImageCell です。

どうもありがとう!

これまでのところ、新しい画像を作成してから

paretoRow.Cells["p1"].Value = theImage;

私が得る問題は ERROR:formated cell has wrong type! です。

4

1 に答える 1

0

画像コントロールを含む DataGridTemplateColumn を使用する必要があります。一般列は画像の表示をサポートしていません。

于 2012-04-27T09:06:52.573 に答える