Проблема с изображением в DataGridView - PullRequest
2 голосов
/ 01 августа 2011

Доброе утро,

Я хочу показать изображение (файл 16 * 16px png) в DataGridView.Эта Сетка имеет 3 столбца: текстовая ячейка, текстовая ячейка, ячейка изображения.Вот пример, как я пытаюсь установить изображение:

    private void showData(List<Item> collection)
    {
        gwQuestions.AutoGenerateColumns = false;
        gwQuestions.DataSource = addNotSet(collection);

        foreach (DataGridViewRow row in gwQuestions.Rows)
        {
            DataGridViewImageCell cell = row.Cells[2] as DataGridViewImageCell;
            cell.ValueType = typeof(System.Drawing.Image);
            if (collection[row.Index].Result)
            {
                cell.Value = (System.Drawing.Image)Properties.Resources.Check;
            }
            else
            {
                cell.Value = (System.Drawing.Image)Properties.Resources.Cancel;
            }
        }
    }

Но в сетке я показываю только красный крестик на бумаге, как Файл не найден.Можете ли вы помочь мне, пожалуйста?

Ответы [ 2 ]

1 голос
/ 01 августа 2011

Это должно работать, если вы поместите свою логику для назначения изображения в событии CellFormatting объекта DataGridView:

dataGridView1.CellFormatting += dataGridView1_CellFormatting;

void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{            
    if (dataGridView1.Columns[e.ColumnIndex].Name == "ImageColumnName")
    {
        if (collection[e.RowIndex].Result)
        {
            e.Value = (System.Drawing.Image)Properties.Resources.Check;
        }
        else
        {
            e.Value = (System.Drawing.Image)Properties.Resources.Cancel;
        }
    }
}

Также обратите внимание, что вы устанавливаете e.Value, а не cell.Value здесь.

0 голосов
/ 25 декабря 2011

Salvete!Я искал похожий ответ.Если вы не возражаете против моего VB, попробуйте этот пост (где я ответил сам ...).Код показывает, как загрузить изображение из ресурса в datagridview.

Как динамически поменять строку для изображения в Datagridview?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...