WinForms Datagridview在运行时更改图像行vs 2010

WinForms Datagridview在运行时更改图像行vs 2010,winforms,datagridview,Winforms,Datagridview,以前从未使用过datagridview,我无法确定如何根据状态更改myImageColumn 我正在这个网格中加载一些日志,并且根据我想要分配适当映像的状态再次加载。不确定应该执行哪个事件。 任何带有绑定或未绑定的建议或示例都将非常好 这里有一些代码 public enum LogType { Fatal, Error, Warn, Info, Debug, None, } public class Log { public LogTyp

以前从未使用过datagridview,我无法确定如何根据状态更改myImageColumn

我正在这个网格中加载一些日志,并且根据我想要分配适当映像的状态再次加载。不确定应该执行哪个事件。 任何带有绑定或未绑定的建议或示例都将非常好

这里有一些代码

public enum LogType
{
    Fatal,
    Error,
    Warn,
    Info,
    Debug,
    None,
}
public class Log
{

    public LogType LogType { get; internal set; }
    public string Message { get;  set; }
}



    private void LoadDataGrid()
    {
        // Create the image column.
        DataGridViewImageColumn imageCol = new DataGridViewImageColumn();
        imageCol.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
        imageCol.ImageLayout = DataGridViewImageCellLayout.Normal;
        imageCol.Frozen = true;
        imageCol.Name = "Image";
        imageCol.HeaderText = "";
        imageCol.DisplayIndex = 0;
        imageCol.Image = Properties.Resources.warning;

        datagrid.Columns.Add(imageCol);


        DataGridViewTextBoxColumn colMessage = new DataGridViewTextBoxColumn();
        colMessage.Name = "Message";
        colMessage.HeaderText = "Message";
        datagrid.Columns.Add(colMessage);

         datagrid.DataSource=   GetAllLogs();
    }

     private void OnCellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
    //I am not sure about the all thing here
        // Check if it's the Image column.
        if ((dgvLogs.Columns[e.ColumnIndex].Name == "Image"))
        {
            object value = dgvLogs.Rows[e.RowIndex].Cells["LogType"].Value;

            //TODO:Convert to enum 
            // switch (type)
        //{
          //  case "fatal":  e.Value=FatalImage;
           // case "error": e.Value=ErrorImage;
            //case "warn":  e.Value=WarnImage;
            //case "info": e.Value=InfoImage;
            //case "debug":  e.Value=DebugImage;

        //}
    }
这里需要一些代码或链接的帮助,您可以在这些代码或链接中看到图像在运行时是如何确定的


非常感谢

我找到了一个可能对你有帮助的链接