c# - 使用按钮单击为 DataGridView 添加多个附件
问题描述
我编写了这段代码,用于通过单击按钮向 datagridview 添加多个附件,但我一次只能添加一个附件。单击下一步按钮不会添加多个附件,请提供解决方案,
谢谢
这是我试过的代码
OpenFileDialog ofdialog = new OpenFileDialog();
ofdialog.Multiselect = true;
DataTable dt = new DataTable();
dt.Columns.Add("Attachments");
var res = ofdialog.ShowDialog();
string[] filename = ofdialog.FileNames;
string[] sfilename = ofdialog.SafeFileNames;
foreach (string fn in filename)
{
dt.Rows.Add(fn);
}
dataGridView1.DataSource = dt.DefaultView;
dataGridView1.Columns["Attachments"].Width = 500;
解决方案
最后一行的断点(来自评论):嗯,这当然不能解决问题,但现在你知道它DataTable
本身是错误的。现在使用断点向上执行代码。您可以将其设置DataTable dt = new DataTable();
在行上并查看上面的行,当悬停在 上方时ofdialog
,查看它在FileNames
.
OpenFileDialog1.Multiselect = True
您应该获得与您在OpenFileDialog
.
下一个候选是filename
断点 on 的数组foreach
,检查该数组中的项目数。
这是我用来比较的代码:
C#(已转换):
OpenFileDialogDXF.Title = "Choose your files";
OpenFileDialogDXF.InitialDirectory = @"C:\users\XXXXX\Documents\";
OpenFileDialogDXF.Filter = "DXF Files|*.dxf";
OpenFileDialogDXF.Multiselect = true;
if (OpenFileDialogDXF.ShowDialog() == DialogResult.OK)
{
for (var ir = 0; ir <= OpenFileDialogDXF.FileNames.Count - 1; ir++)
LoadDXF(OpenFileDialogDXF.FileNames(ir));
}
VB.NET:
Private Sub BtnOpenDxf_Click(sender As Object, e As EventArgs) Handles BtnOpenDxf.Click
OpenFileDialogDXF.Title = "Choose your files"
OpenFileDialogDXF.InitialDirectory = "C:\users\XXXXX\Documents\"
OpenFileDialogDXF.Filter = "DXF Files|*.dxf"
OpenFileDialogDXF.Multiselect = True
If OpenFileDialogDXF.ShowDialog() = DialogResult.OK Then
For ir = 0 To OpenFileDialogDXF.FileNames.Count - 1
Call LoadDXF(OpenFileDialogDXF.FileNames(ir))
Next
End If
LoadDXF
我处理每个文件的自定义子在哪里。
编辑:
考虑您的代码,如果OpenFileDialog
得到多个结果,我要寻找问题的地方是这一行:
string[] filename = ofdialog.FileNames;
它可能需要一些转换,例如.ToArray()
.
推荐阅读
- json - 在 Laravel 8 中发送“Ajax 请求”时没有返回值
- java - Intellij @__(@Lazy) 找不到符号
- android - 为什么 Android Studio 的 palette 中没有出现搜索栏?
- python - 加载 JSON 文件错误:预期值:第 1 行第 1 列(字符 0)
- python - seaborn中barplot的语法无效
- reactjs - 我如何为 useEffect 和 dispatch 中的未覆盖行编写测试?
- python-3.x - 如何在 windows 的 msys2 中的 python3 中使用 pip?
- python-3.x - 什么都不写时如何为位置参数赋值?
- javascript - 如何将用户重定向到当前网址
- python - 请问如何调试这个CCASS Web Scraping (aspx form) 代码?