C# 无法在datagridview中打开浏览

C# 无法在datagridview中打开浏览,c#,datagridview,openfiledialog,C#,Datagridview,Openfiledialog,我有一个DataGridView,如图所示,当我单击“从文件浏览”时,必须打开一个OpenFileDialog。我相信如果我用按钮单击方法来编写代码是不可能的,但是我不知道用哪种方法来编写代码。请帮忙 到目前为止,我已经做到了:(希望有帮助) string[]col2=新字符串[dataGridView1.Rows.Count]; 对于(int i=0;i

我有一个DataGridView,如图所示,当我单击“从文件浏览”时,必须打开一个OpenFileDialog。我相信如果我用按钮单击方法来编写代码是不可能的,但是我不知道用哪种方法来编写代码。请帮忙

到目前为止,我已经做到了:(希望有帮助)

string[]col2=新字符串[dataGridView1.Rows.Count];
对于(int i=0;i
将代码放入
DataGridView.CellValueChanged
事件中。使用
SelectedCells
属性查找当前单元格,然后检查其值是否为“从文件浏览…”。如果是这样,请启动
OpenFileDialog.ShowDialog()
调用


有关CellValueChanged的信息,请参阅此文档:

到目前为止我在这里的可能重复项:
//如果(dataGridView1.SelectedCells=“从文件浏览…”){}如果(dataGridView1.Rows[1].Cells[“从文件浏览…”。Value.ToString()=“从文件浏览…”){openFileDialog2.ShowDialog()}
请帮助大副。无法理解SelectedCells将如何工作,因此我尝试使用
Rows.Cells.Value.ToString
SelectedCells只是所选单元格的列表。SelectedCells[0]。如果您选择了一个单元格,则Value将为您提供当前选定单元格的值。
private void dataGridView1\u CellValueChanged(对象发送者,DataGridViewCellEventArgs e){
if(dataGridView1.SelectedCells[0]。Value==“从文件浏览…”
{openFileDialog2.ShowDialog();}
我编写的这段代码没有发生任何变化。请尝试
[0]。Value.ToString()==
在您告诉我之前,我尝试过这样做!哈哈。酷吧?在这两种情况下,它都会向我打印一条警告,指出可能是无意中的引用比较;要进行值比较,请将左侧的字符转换为键入“string”
string[] col2 = new string[dataGridView1.Rows.Count];

        for (int i = 0; i < dataGridView1.Rows.Count; i++)

            if (col2[i] == "Browse From File...")
            {
                DialogResult result2 = openFileDialog2.ShowDialog();
                if (result2 == DialogResult.OK)
                {
                     filename = openFileDialog1.FileName;
                }
            }