C# gridview中的父文件夹名称
我想在C# gridview中的父文件夹名称,c#,winforms,datagridview,C#,Winforms,Datagridview,我想在DataGridView中显示文件根/父,但我不知道如何显示。我在一个根文件夹中列出了子目录中的所有文件,但我也希望每个文件都有其父文件夹显示在DataGridView中。是否仍然可以从System.IO库中获取此信息 这是我的代码: private void Form1_Load(object sender, EventArgs e) { label2.Text = LocationX; s1 = Directory.GetFiles(@LocationX, "#", S
DataGridView
中显示文件根/父,但我不知道如何显示。我在一个根文件夹中列出了子目录中的所有文件,但我也希望每个文件都有其父文件夹显示在DataGridView
中。是否仍然可以从System.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;
}
}
private void Form1\u加载(对象发送方,事件参数e)
{
label2.Text=位置X;
s1=Directory.GetFiles(@LocationX,“#”,SearchOption.AllDirectories);
对于(int i=0;i 0)
{
dataGridView1.DataSource=dt;
}
}
用于获取文件的目录名:
dr["Root"] = f.Directory.Name;
同时将列创建移出循环。我认为循环应该只用于向表中添加数据
谢谢。如果是在循环中还是在循环外,它的工作方式是相同的。@anzes当然可以,但如果(i==0)在每个循环上,您将不会选中
。我不会复制整个代码,因为我在每行中都添加了复选框。@anzes我在循环之前添加了更新的完整代码,并创建了列。您还可以使用DirectoryInfo获取FileInfo条目。我是否必须使用其他库来获取DirectoryInfo?
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);
}