惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
Last Week in AI
Last Week in AI
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
The Cloudflare Blog
罗磊的独立博客
月光博客
月光博客
N
Netflix TechBlog - Medium
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Microsoft Azure Blog
Microsoft Azure Blog
IT之家
IT之家
Jina AI
Jina AI
J
Java Code Geeks

博客园 - 我不是冷狐冲,我就是一酒壶

又长草啦 普通HTML的input调用Ext js DatePicker的实现方法 MVC框架下的图表使用(二) MVC框架下的图表使用(一) 关于消息队列的研究 GridView样式及排序问题 新年新开始 WebBrowser控件显示XML流 VS2005(C#)里读取及改变App.config里appSettings节的值 WebService开发心得 - 我不是冷狐冲,我就是一酒壶 - 博客园 VS 2005 C#操作 XML ASP调用C# DLL - 我不是冷狐冲,我就是一酒壶 - 博客园 Ajax学习笔记 VML图表控件 含吃蛇,加了存档功能了 在cs页取得当前Web页输出的HTML - 我不是冷狐冲,我就是一酒壶 - 博客园 VML学习笔记(本人会不断更新此文章) 长白山游记 贪吃蛇
C# C/S下DataGrid根据数据库里的值(int型)显示ImageList里的图片
我不是冷狐冲,我就是一酒壶 · 2006-08-02 · via 博客园 - 我不是冷狐冲,我就是一酒壶

    由于做项目需要写了一个显示图片的自定的DataGridColumn样式,抛砖引玉了

using System;
using System.Data;
using System.Windows.Forms;
using System.Drawing;

namespace DataGridPictureBoxColumn
{

 public class DataGridPictureBoxColumn : DataGridColumnStyle
 {
  private ImageList _showimagelist = null;

  public ImageList ShowImageList
  {
   set
   {
    _showimagelist = value;
   }
  }


  public DataGridPictureBoxColumn() : base()
  {
  }

  protected override void Paint(Graphics g,
   Rectangle bounds,
   CurrencyManager source,
   int rowNum)
  {
   Paint(g, bounds, source, rowNum, false);
  }
  protected override void Paint(
   Graphics g,
   Rectangle bounds,
   CurrencyManager source,
   int rowNum,
   bool alignToRight)
  {
   Paint(
    g,bounds,
    source,
    rowNum,
    Brushes.Red,
    Brushes.Blue,
    alignToRight);
  }
  protected override void Paint(
   Graphics g,
   Rectangle bounds,
   CurrencyManager source,
   int rowNum,
   Brush backBrush,
   Brush foreBrush,
   bool alignToRight)
  {
   int Index = (int)GetColumnValueAtRow(source, rowNum);
   g.FillRectangle(new SolidBrush(Color.White),bounds);
   g.DrawImage(this._showimagelist.Images[Index],bounds);
  }

 
  protected override void Abort(int rowNum)
  {
   Invalidate();
  }

  protected override bool Commit
   (CurrencyManager dataSource, int rowNum)
  {
   Invalidate();

   
   return true;
  }

  protected override void Edit(
   CurrencyManager source,
   int rowNum,
   Rectangle bounds,
   bool readOnly,
   string instantText,
   bool cellIsVisible)
  {
   return;
  }

  protected override Size GetPreferredSize(
   Graphics g,
   object value)
  {
   return new Size(20,20);
  }

  protected override int GetMinimumHeight()
  {
   return 20;
  }

  protected override int GetPreferredHeight(Graphics g,
   object value)
  {
   return 20;
  }

 }
}