Услуги Сертификаты Новости Статьи База знаний Алгоритмы Портфолио Скачать Ссылки Поиск
Услуги arrow База знаний arrow Microsoft Visual Studio arrow C#: Image in DataGridViewImageCell (Картинка в столбце DataGridView)
C#: Image in DataGridViewImageCell (Картинка в столбце DataGridView) Версия для печати Отправить на e-mail
12.03.2009

Если Вы хотите создать столбец в DataGridView, где будут отображаться разные значки, в зависимости от содержимого каждой строки, это можно сделать следующим образом:

В приведенном примере столбец UINState содержит Guid, по которому выполняется проверка статуса строки

private void gvList_CellFormatting(object sender,
  DataGridViewCellFormattingEventArgs e)
{
  if (e.ColumnIndex.Equals(0))
  {
    setDataGridViewImageStatus(sender, e);
  }
}

private void setDataGridViewImageStatus(object sender,
DataGridViewCellFormattingEventArgs e)
{
  string CheckColumnName = "UINState";
  string colName =  
  ((DataGridView)sender).Columns[CheckColumnName].Name.ToString();
  e.Value = EntityPaint.GetStateImage(
    ((DataGridView)sender).Rows[e.RowIndex].Cells[colName].Value.ToString());
}

/// <summary>
/// Метод устанавливает статус-картинку для текущей записи
/// </summary>
/// <param name="UINState"></param>
/// <returns></returns>
static public Image GetStateImage(string UINState)
{
    Image Res = null;
    switch (UINState.ToLower())
    {
        case "364fb7ec-8fc5-48f1-a25c-8888824e6a97": // Статус 1
            Res = global::MyApp.Properties.Resources.bullet_ball_glass_yellow;
            break;
        case "2a030090-d85f-4f8c-bb92-7a79500089c5": // Статус 2
            Res = global:: MyApp.Properties.Resources.bullet_ball_glass_green;
            break;
        case "649fbdf3-3255-46cc-b8cc-2fb86a3918a5": // Статус 3
            Res = global:: MyApp.Properties.Resources.bullet_ball_glass_red;
            break;                   
        default:
            Res = global:: MyApp.Properties.Resources.bullet_ball_glass_grey;
            break;
    }
   
    return Res;
}

PS: если Вам была полезна данная статья, поддержите наш ресурс, нажмите кнопочку "+1" вверху страницы. Спасибо!

Последнее обновление ( 06.03.2012 )
 
< Пред.   След. >