在winform中,datagrid中是否可以显示图片? 5.21 How can I have a column of icons in my datagrid?http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q837q 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想可以加一模板列,控件用image,绑定他的imageurl,就可以显示了我在webform中已经实现了,控件可以通用的,你可以试试 web中我也已经实现,但在winform中好你有点困难? 思归说的没错,这里必须写paint这里来完成绘图操作public class DataGridIconTextColumn : DataGridTextBoxColumn { private ImageList _icons; delegateGetIconIndexForRow _getIconIndex;//这个代理 public DataGridIconTextColumn(ImageList Icons, delegateGetIconIndexForRow getIconIndex) { _icons = Icons; _getIconIndex = getIconIndex; } protected override void Paint(System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Brush backBrush, System.Drawing.Brush foreBrush, bool alignToRight) { try { Image icon1 = this._icons.Images[_getIconIndex(rowNum)]; Rectangle rect = new Rectangle(bounds.X, bounds.Y, icon1.Size.Width, bounds.Height); g.FillRectangle(backBrush, rect); g.DrawImage(icon1, rect); bounds.X = bounds.X + rect.Width; bounds.Width = bounds.Width - rect.Width; base.Paint(g, bounds, source, rowNum, backBrush, foreBrush, alignToRight); } catch(Exception ex){ /* empty catch */ } } }}public delegate int delegateGetIconIndexForRow(int row);至于你们说的webform里通过模板来实现的,如果你们看看经过服务器处理以后的代码你们会明白模板转化后的html来实现的,原理是完全不同的两个概念! .net中与层隐藏相关的问题 razor里的@嵌套问题 商品大类 和小类的div如何使重叠的border为0 sql语句,考验高手的时候到了 一个小问题:如何让动态生成的label控件,根据它的Text的内容自动调整大小? 异步socket和序列化的问题 怎样从子循环退出主循环? 急急急,怎么样判断一个string是不是在另外一个string里面阿?? 请问Encoding 类的字符集编码问题. C#如何外部连接CAD,可适用于不同版本CAD gridgrid的使用问题 请问错在哪里?数据怎么没法更新!!解决者有分呀!
我在webform中已经实现了,控件可以通用的,你可以试试
public class DataGridIconTextColumn : DataGridTextBoxColumn
{
private ImageList _icons;
delegateGetIconIndexForRow _getIconIndex;//这个代理
public DataGridIconTextColumn(ImageList Icons, delegateGetIconIndexForRow getIconIndex)
{
_icons = Icons;
_getIconIndex = getIconIndex;
} protected override void Paint(System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Brush backBrush, System.Drawing.Brush foreBrush, bool alignToRight)
{
try
{
Image icon1 = this._icons.Images[_getIconIndex(rowNum)];
Rectangle rect = new Rectangle(bounds.X, bounds.Y, icon1.Size.Width, bounds.Height);
g.FillRectangle(backBrush, rect);
g.DrawImage(icon1, rect); bounds.X = bounds.X + rect.Width;
bounds.Width = bounds.Width - rect.Width;
base.Paint(g, bounds, source, rowNum, backBrush, foreBrush, alignToRight);
}
catch(Exception ex){ /* empty catch */ }
}
}
}public delegate int delegateGetIconIndexForRow(int row);至于你们说的webform里通过模板来实现的,如果你们看看经过服务器处理
以后的代码你们会明白模板转化后的html来实现的,原理是完全不同的两个
概念!