DataGridView显示图片的问题 在我的DataGridView里面有一个字段是现实图像的。具体是这样的:根据从数据库查询返回的结果,如果返回的是1,则显示图片1,如果是2,则显示图片2.这个该怎么实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DataGridVIew的图片没做过 思路应该是这样的把存有1 或 2 的字段绑定给 DataGridVIew 隐藏这列 在添加一个图片列datagridview1.DataSource = ds.Table[0]; //绑定数据后for(int i = 0;i<datagridview1.Rows.Count;i++){ if(datagridview1.Rows[i].Cell["隐藏那列的列名"].Value.ToString() == "1") { //绑定图片1... } else { //绑定图片2 }} 初次接触 DataGridview 控件 ! 有待研究 ! datagridview1.DataSource = ds.Table[0]; //绑定数据后for(int i = 0;i<ds.Table[0].Rows.Count;i++){ if(Convert.ToInt32(ds.Table[0].Rows[行索引][列索引]) == 1) { //绑定图片1... } else { //绑定图片2 }}1楼的这样写更好吧这是直接绑定DataSource 的情况。如果是循环赋值就更简单了 代码来自http://bingning.net/VB/SOURCE/datagridview/showimageinintcolumn.html那里有详细的说明。using System; using System.ComponentModel; using System.Windows.Forms; /// <summary> ///根据单元格的值,表示适当的图标 /// </summary> public class DataGridViewErrorIconColumn : DataGridViewImageColumn { public DataGridViewErrorIconColumn() { this.CellTemplate = new DataGridViewErrorIconCell(); this.ValueType = this.CellTemplate.ValueType; } } /// <summary> ///根据单元格的值,表示适当的图标 /// </summary> public class DataGridViewErrorIconCell : DataGridViewImageCell { public DataGridViewErrorIconCell() { this.ValueType = typeof(int); } protected override object GetFormattedValue( object value, int rowIndex, ref DataGridViewCellStyle cellStyle, TypeConverter valueTypeConverter, TypeConverter formattedValueTypeConverter, DataGridViewDataErrorContexts context) { //值是0时表示情报、1时表示警告、2时表示错误 switch ((int)value) { case 1: return SystemIcons.Information; case 2: return SystemIcons.Warning; case 3: return SystemIcons.Error; default: return null; } } public override object DefaultNewRowValue { get { return 0; } } } 在你的GridView里可以放一个模版列,模版列里放一个Image控件,从数据库查询出数据在绑定到GridView之前判断是显示哪个图片。代码:datagridview1.DataSource = ds.Table[0]; //绑定数据后for(int i = 0;i<ds.Table[0].Rows.Count;i++){ if(Convert.ToInt32(ds.Table[0].Rows[行索引][列索引]) == 1) { Image.Imgurl = Url1; } else { Image.Imgurl = Url2; }}datagridview1.Bind(); 如何使本机只能访问一个网址 【原创】C#深入剖析(2)——析构函数 C++的多继承的类型系统在C#中如何得到映射的啊 50分求助:combox如何添加数据库 如何使C#程序和.NET Framework2.0一起打包到没有.NET Framework2.0的目标机器上安装 dataset中datatable问题 关于Pocket PC 2002的一些简单问题 C# WinForm制作图片按钮 面试技巧求解答???大神帮帮忙啊!!! 如何这样批量修改文件名 c# 求N级分数的问题,计算等级 信息提示框
for(int i = 0;i<datagridview1.Rows.Count;i++)
{
if(datagridview1.Rows[i].Cell["隐藏那列的列名"].Value.ToString() == "1")
{
//绑定图片1...
}
else
{
//绑定图片2
}
}
datagridview1.DataSource = ds.Table[0]; //绑定数据后
for(int i = 0;i<ds.Table[0].Rows.Count;i++)
{
if(Convert.ToInt32(ds.Table[0].Rows[行索引][列索引]) == 1)
{
//绑定图片1...
}
else
{
//绑定图片2
}
}1楼的这样写更好吧
这是直接绑定DataSource 的情况。
如果是循环赋值就更简单了
那里有详细的说明。using System;
using System.ComponentModel;
using System.Windows.Forms; /// <summary>
///根据单元格的值,表示适当的图标
/// </summary>
public class DataGridViewErrorIconColumn : DataGridViewImageColumn
{
public DataGridViewErrorIconColumn()
{
this.CellTemplate = new DataGridViewErrorIconCell();
this.ValueType = this.CellTemplate.ValueType;
}
} /// <summary>
///根据单元格的值,表示适当的图标
/// </summary>
public class DataGridViewErrorIconCell : DataGridViewImageCell
{
public DataGridViewErrorIconCell()
{
this.ValueType = typeof(int);
} protected override object GetFormattedValue(
object value, int rowIndex,
ref DataGridViewCellStyle cellStyle,
TypeConverter valueTypeConverter,
TypeConverter formattedValueTypeConverter,
DataGridViewDataErrorContexts context)
{
//值是0时表示情报、1时表示警告、2时表示错误
switch ((int)value)
{
case 1:
return SystemIcons.Information;
case 2:
return SystemIcons.Warning;
case 3:
return SystemIcons.Error;
default:
return null;
}
}
public override object DefaultNewRowValue
{
get
{
return 0;
}
}
}
代码:datagridview1.DataSource = ds.Table[0]; //绑定数据后
for(int i = 0;i<ds.Table[0].Rows.Count;i++)
{
if(Convert.ToInt32(ds.Table[0].Rows[行索引][列索引]) == 1)
{
Image.Imgurl = Url1;
}
else
{
Image.Imgurl = Url2;
}
}
datagridview1.Bind();