簡體   English   中英

Winforms從datagridview中的文件夾加載文件,編輯名稱並保存

[英]Winforms load files from folder in datagridview, edit name and save them

我必須重命名大約20.000個文件,但是我無法自動執行任何操作,因為我必須檢查每個文件的內容並添加適當的名稱。

但是,我計划構建一個勝利表格解決方案,以幫助我解決這一問題。

計划是:

  • 按鈕選擇文件夾(完成)
  • 將文件加載到DataGridView(完成)
  • 在gridview中內聯編輯文件名(要做)
  • 退出/退出/移至另一項時,以新名稱保存當前項(待辦事項)

問題:

  • 如何在數據網格視圖中內聯編輯行?
  • 離開保存當前文件時應使用哪個事件處理程序?
  • 我實際上如何知道編輯了什么文件,以便可以使用新名稱重命名/保存文件?

還有一件事。 我不會在一天內編輯20.000個項目,所以我在考慮是否可以向已編輯的文件中添加一個屬性並將其標記為true或類似的東西,因此第二天我可以繼續向左那些。

如果將DataGridView與設計的對象綁定,則可以使用selectedRow.DataBoundItem修改其屬性。

現在,關於使用什么事件的問題,我建議使用RowEnter(進入EditMode)和RowLeave(驗證/保存)。

同樣,對於最后一個問題,如果您有自己的對象,則可以管理一個屬性來執行此操作(就像在任何調用的setter上設置臟位一樣)。

也許基於FileInfo lastModified,或匹配名稱模式...

希望這可以幫助! :)

如果您有2個屬性,並且在DataGrid中使用CellEndEdit和Cell BeginEdit操作。 我假設您具有以下示例的單元格中的完整文件路徑。 Datagrid上有關於如何開始編輯的選項,但是默認情況下應啟用它。

  public string FileOriginal { get; set; }
  public string  FileNew { get; set; }

  private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
        FileNew = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
        File.Move(FileOriginal, FileNew);
    }

    private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
    {
        FileOriginal = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();

    }

這會將您的文件移動(重命名)為新名稱。 采用舊路徑並將其移至新的編輯路徑。 如果您僅在該字段中輸入文件名,那么我將在路徑中添加另一列,然后將其組合為名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM