winform窗体中 DataGridView显示图片
在DataGridView中显示:图片、姓名
这两列怎么动态显示??
求解!!
[解决办法]
什么叫动态显示?是用程序实现显示么?其实你可以在dgv的编辑模式弄两个列,一列是图片,一列是名字。这时在窗体的如Form1.Designer.cs这个类里就有代码自动生成了。你就模仿它写就行。
不知道我说的是不是你问的问题
[解决办法]
添加两列private void dataGridview1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (dataGridview1.Columns[e.ColumnIndex].Name.Equals("Image"))
{
string path = e.Value.ToString();
e.Value = GetImage(path);
}
}
public System.Drawing.Image GetImage(string path)
{
System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Open);
System.Drawing.Image result = System.Drawing.Image.FromStream(fs);
fs.Close();
return result;
}
使用DataGridViewImageColumn
DataGridViewImageColumn column = new DataGridViewImageColumn();
dataGridView1.Columns.Add(column);
column.HeaderText = "图片";
column.Image = System.Drawing.Image.FromFile("路径");
((DataGridViewImageCell)this.dataGridView1.Rows[e.RowIndex].Cells[ "图片列"]).Value = "路经 "
[解决办法]
你的动态是怎么个动态法?? 直接从数据库取??
[解决办法]
直接绑定到数据库不就动态显示了么?你想怎么个动态法?
[解决办法]
private void Form2_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“csysDBDataSet.interview”中。您可以根据需要移动或移除它。
this.interviewTableAdapter.Fill(this.csysDBDataSet.interview);
DataGridViewImageColumn dgvc = (DataGridViewImageColumn)this.interviewDataGridView.Columns["ColumnPic"];
MessageBox .Show ( dgvc.DataGridView.Rows.Count.ToString());
for (int a = 0; a < dgvc.DataGridView.Rows.Count; a++)
{
DataGridViewImageCell dgvcc = (DataGridViewImageCell)dgvc.DataGridView.Rows[a ].Cells["ColumnPic"];
try
{
string picname = this.interviewDataGridView.Rows[a].Cells["dataGridViewTextBoxColumn15"].Value.ToString();
dgvcc.Value = Image.FromFile(Application.StartupPath + "\\pic\" + picname + ".jpg");
}
catch { }
}
}
dgv.Cells["affixPic"].Value = this.filePic;
}
else
{
dgv.Cells["affixPic"].Value = this.clearPic;
}
if (!this.box.Equals("waitsign"))
{
string readStatu = dgv.Cells["dataGridViewTextBoxColumn4"].Value.ToString();
if (readStatu.Equals("no"))
{
dgv.Cells["readPic"].Value = this.image1;
}
else
{
dgv.Cells["readPic"].Value = this.image2;
}
}
}