我在Windows窗体中创建了一个DataGridView,我在其中加载了app.config文件数据。这是将数据加载到DGV中的代码:
_settings = new List<AppSettingsClass>();
doc.Load(Path.Combine(path, SelectConfigComboBox.SelectedItem.ToString(), "app.config"));
XmlNodeList nodes = doc.DocumentElement.SelectNodes("/configuration/appSettings/add");
for (int i = 0; i < nodes.Count; i++)
{
var item = new AppSettingsClass
{
Key = nodes[i].Attributes[0].Value,
Value = nodes[i].Attributes[1].Value
};
settings.Add(item);
}
BindDataGrid();
dataGridView1.AllowUserToAddRows = true;
我有一些列有文件路径作为数据。我想创建一个浏览按钮,以便用户可以选择路径而不是手动输入。那可能吗?如果可以,有人可以解释我如何做到这一点。
我知道它应该在这个方法中,但我不知道我怎么能这样做:
private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
//INSIDE THIS
}
答案 0 :(得分:4)
这应该是你的方法。
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1 && e.RowIndex == 2)
{
var dialog = new OpenFileDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
dataGridView1[e.ColumnIndex, e.RowIndex].Value = dialog.FileName;
}
}
}
答案 1 :(得分:0)
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1 && dataGridView1["Key", e.RowIndex].Value?.ToString() == "SomePathKey")
{
var dialog = new OpenFileDialog();
if (dialog.ShowDialog() == DialogResult.OK)
{
dataGridView1["Value", e.RowIndex].Value = dialog.FileName;
}
}
}