亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過單擊按鈕為 DataGridView 添加多個附件

通過單擊按鈕為 DataGridView 添加多個附件

C#
慕森卡 2023-09-09 16:53:25
我編寫了這段代碼,用于通過單擊按鈕向 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;
查看完整描述

1 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

最后一行的斷點(來自評論):當然,這不能解決問題,但現在您知道它本身DataTable是錯誤的?,F在使用斷點繼續執行代碼。您可以將其設置在線上DataTable dt = new DataTable();并查看上面的行,當將鼠標懸停在 上方時ofdialog,查看它的文件集合FileNames。

https://img1.sycdn.imooc.com//64fc333d0001ad7209760477.jpg

OpenFileDialog1.Multiselect = True您應該獲得的文件數量等于您在OpenFileDialog.


下一個候選是filename帶有斷點的數組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().


查看完整回答
反對 回復 2023-09-09
  • 1 回答
  • 0 關注
  • 131 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號