我有一个gridview,通过类和代码id的方法加载带代码的列:
Queue objQueue = new Queue();
dataGridView1.DataSource = objQueue.GetAllQueue();
DataGridViewButtonColumn btnFile = new DataGridViewButtonColumn();
btnFile.UseColumnTextForButtonValue = true;
btnFile.Name = "btnViewFile";
btnFile.Text = "View";
btnFile.HeaderText = "View Image";
dataGridView1.Columns.Add(btnFile);
数据网格视图中的Botton加载没有问题,但如何通过新设计的窗体或Windows图像和传真查看器将此按钮绑定到打开图像链接。
答案 0 :(得分:0)
这应该有效
btnFile.Click += btnFile_Click;
现在定义btnFile_Click文件以在Response
中流式传输图像答案 1 :(得分:0)
解决方案:
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex ==1) //Assuming the button column as second column, if not can change the index
{
//check if anything needs to be validated here
Form1 f = new Form1();
f.navId = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
f.Show();
}
}
在上面的代码中,使用此语句指定id的值 f.navId = dataGridView1.Rows [e.RowIndex] .Cells [2] .Value.ToString();
为此,只需在目标表单中声明一个公共变量(例如navId)
答案 2 :(得分:0)
您可以将事件处理程序作为
附加到DataGrid视图dataGridView1.CellClick += new DataGridViewCellEventHandler(dataGridView1_CellClick);
并将其处理为
void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0) //Or your Button Index location
{
MessageBox.Show("Here");
}
}
然后,您可以创建新表单并显示它或打开图像链接。