Замена DataGridView слов и цифр с изображениями - PullRequest
0 голосов
/ 04 ноября 2008

Я создаю приложение, которое отображает некоторые сообщения и их направления в DataGridView. Я хотел бы заменить содержимое некоторых столбцов изображениями. Например, я хотел бы заменить число 0, которое представляет входящий вызов, зеленой стрелкой (некоторое изображение .jpg).

Кто-нибудь знает, как этого можно достичь?

Спасибо!

Ответы [ 3 ]

1 голос
/ 02 мая 2009

Мы сохранили изображения в файле ресурсов в виде файлов BMP. Затем мы обрабатываем событие CellFormatting в DataGridView следующим образом:

    private void messageInfoDataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
        // Is this the correct column? (It's actually a DataGridViewImageColumn)
        if (messageInfoDataGridView.Columns[e.ColumnIndex] == messageSeverityDataGridViewTextBoxColumn)
        {
            // Get the row we're formatting
            DataGridViewRow row = messageInfoDataGridView.Rows[e.RowIndex];
            // Get the enum from the row.
            MessageSeverity severity = ((MessageInfo)row.DataBoundItem).MessageSeverity;
            Bitmap cellValueImage;
            // Map the enumerated type to an image...
            // SeverityImageMap is a Dictionary<MessageSeverity,Bitmap>.
            if (ReferenceTables.SeverityImageMap.ContainsKey(severity))
                cellValueImage = ReferenceTables.SeverityImageMap[severity];
            else
                cellValueImage = Resources.NoAction;

            // Set the event args.
            e.Value = cellValueImage;
            e.FormattingApplied = true;
        }
    }
0 голосов
/ 04 ноября 2008

Посмотрите на создание настраиваемого datagridviewCell datagridviewColumn и / или dataGridViewEditingControl.

0 голосов
/ 04 ноября 2008

GridView имеют возможность использовать поле изображения, а не поле с привязкой к данным. Это звучит так, как будто это поможет.

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