0

我正在创建一个应用程序,它在 DataGridView 中显示一些消息及其方向。我想用图片替换一些列内容。例如,我想用绿色箭头(一些 .jpg 图像)替换代表来电的数字 0。

有谁知道如何做到这一点?

谢谢!

4

3 回答 3

1

我们将图像作为 BMP 文件存储在资源文件中。然后,我们像这样处理 DataGridView 中的 CellFormatting 事件:

    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;
        }
    }
于 2009-05-02T00:30:58.203 回答
0

GridView 能够使用图像字段而不是数据绑定字段。这听起来像它会做的伎俩。

于 2008-11-04T15:24:50.777 回答
0

查看创建自定义 datagridviewCell datagridviewColumn 和/或 dataGridViewEditingControl。

于 2008-11-04T15:28:56.400 回答