0

でファイルのルート/親を表示したいのですDataGridViewが、方法がわかりません。1 つのルート フォルダーのサブディレクトリにあるすべてのファイルを一覧表示しましたが、すべてのファイルに に示す親フォルダーがあることも望んでいますDataGridViewSystem.IOライブラリからこの情報を取得する方法はありますか?

これは私のコードです:

private void Form1_Load(object sender, EventArgs e)
{
    label2.Text = LocationX;
    s1 = Directory.GetFiles(@LocationX, "#", SearchOption.AllDirectories);

    for (int i = 0; i <= s1.Length - 1; i++)
    {
        if (i == 0)
        {   
            dt.Columns.Add("Paren Folder Name");  
            dt.Columns.Add("File_Name");
            dt.Columns.Add("Version");
            dt.Columns.Add("File_Type");
            dt.Columns.Add("File_Size");
            dt.Columns.Add("Create_Date");
        }

        FileInfo f = new FileInfo(s1[i]);
        FileSystemInfo f1 = new FileInfo(s1[i]);

        dr = dt.NewRow();
        dr["Root"] = f1.????????     //is it possible to do show parent folder this way?
        dr["File_Name"] = f1.Name;
        dr["File_Type"] = f1.Extension;
        dr["File_Size"] = (f.Length / 1024).ToString();
        dr["Create_Date"] = f1.CreationTime.Date.ToString("dd/MM/yyyy");
        dt.Rows.Add(dr);
    }

    if (dt.Rows.Count > 0)
    {
        dataGridView1.DataSource = dt;
    } 
}
4

1 に答える 1

1

FileInfo.Directoryファイルのディレクトリ名を取得するために使用します。

dr["Root"] = f.Directory.Name;

また、列の作成をループの外に移動します。ループは、テーブルにデータを追加するためだけに使用する必要があると思います。


dt.Columns.Add("Paren Folder Name");  
dt.Columns.Add("File_Name");
dt.Columns.Add("Version");
dt.Columns.Add("File_Type");
dt.Columns.Add("File_Size");
dt.Columns.Add("Create_Date");

DirectoryInfo directory = new DirectoryInfo(@LocationX);
foreach(FileInfo file in directory.GetFiles("#", SearchOption.AllDirectories))
{
    dr = dt.NewRow();
    dr["Root"] = file.Directory.Name; 
    dr["File_Name"] = file.Name;
    dr["File_Type"] = file.Extension;
    dr["File_Size"] = (file.Length / 1024).ToString();
    dr["Create_Date"] = file.CreationTime.Date.ToString("dd/MM/yyyy");
    dt.Rows.Add(dr);
}
于 2012-12-09T20:46:39.353 に答える