将按钮单元绑定到DatagridView中的图像链接

时间:2012-09-27 10:07:25

标签: c# datagridview

我有一个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图像和传真查看器将此按钮绑定到打开图像链接。

3 个答案:

答案 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");
            }
        }

然后,您可以创建新表单并显示它或打开图像链接。