如何在 Windows 窗体 C# 的 datagridview 上使用打开文件对话框显示选定的文件名
How to display selected file names with openfiledialog on datagridview in WindowsForms C#
我将一个列表设置为我的 DGV 的数据源。我想 select 文件,然后在 DGV 的某个列下添加 selected 文件的名称和格式,为每个文件添加行。
到目前为止,我已经用谷歌搜索了,但所有答案都是针对给定 'by the user' 的数据,例如用户给出的姓名和年龄。但是,我需要的是程序读取信息(名称和格式)而无需用户输入。
欢迎并感谢任何帮助!
private void button2_Click(object sender, EventArgs e) //Dokument auswählen
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Word(*.docx)| *.docx|PPT(*.pptx)|*.pptx|PDF(*.pdf)|*.pdf|Alle Dateien(*.*)|*.*";
ofd.Multiselect = true;
List<DateienList> dateienlist = new List<DateienList>();
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
//Don't know what to do here.
}
}
private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
BindingList<DateienList> myList = new BindingList<DateienList>();
dataGridView1.DataSource = myList; //Datasource set
}
class DateienList //datasource, the list
{
[DisplayName("Dateiennamen")]
public string Dateiennamen { get; set; }
[DisplayName("Neue Dateiennamen")]
public string Neue_Dateiennamen { get; set; }
[DisplayName("Anzahl Kopien")]
public int Anzahl_Kopien { get; set; }
[DisplayName("Umlaut Entfernen")]
public bool Umlaut_Entfernen { get; set; }
[DisplayName("PDF Erzeugen")]
public bool PDF_Erzeugen { get; set; }
[DisplayName("Wasserzeichen Hinzufügen")]
public bool Waasserzeichen_Hinzufügen { get; set; }
}
}
private void button2_Click(object sender, EventArgs e) //Dokument auswählen
{
//This should be done in Form load event
BindingList<DateienList> myList = new BindingList<DateienList>();
dataGridView1.DataSource = myList; //Datasource set
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Word(*.docx)| *.docx|PPT(*.pptx)|*.pptx|PDF(*.pdf)|*.pdf|Alle Dateien(*.*)|*.*";
ofd.Multiselect = true;
List<DateienList> dateienlist = new List<DateienList>();
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
//Loop the files selected from dialog, and find information here.
foreach (var item in ofd.FileNames)
{
DateienList tmp= new DateienList();
tmp.Dateiennamen = item;
FileInfo fileInfo = new FileInfo(item);
if (fileInfo.Extension.ToLower().Equals(".pdf"))
{
tmp.PDF_Erzeugen = true;
tmp.Umlaut_Entfernen = false;
tmp.Waasserzeichen_Hinzufügen = false;
}
// check for other file types
myList.Add(tmp);
}
}
}
我将一个列表设置为我的 DGV 的数据源。我想 select 文件,然后在 DGV 的某个列下添加 selected 文件的名称和格式,为每个文件添加行。 到目前为止,我已经用谷歌搜索了,但所有答案都是针对给定 'by the user' 的数据,例如用户给出的姓名和年龄。但是,我需要的是程序读取信息(名称和格式)而无需用户输入。
欢迎并感谢任何帮助!
private void button2_Click(object sender, EventArgs e) //Dokument auswählen
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Word(*.docx)| *.docx|PPT(*.pptx)|*.pptx|PDF(*.pdf)|*.pdf|Alle Dateien(*.*)|*.*";
ofd.Multiselect = true;
List<DateienList> dateienlist = new List<DateienList>();
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
//Don't know what to do here.
}
}
private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
{
BindingList<DateienList> myList = new BindingList<DateienList>();
dataGridView1.DataSource = myList; //Datasource set
}
class DateienList //datasource, the list
{
[DisplayName("Dateiennamen")]
public string Dateiennamen { get; set; }
[DisplayName("Neue Dateiennamen")]
public string Neue_Dateiennamen { get; set; }
[DisplayName("Anzahl Kopien")]
public int Anzahl_Kopien { get; set; }
[DisplayName("Umlaut Entfernen")]
public bool Umlaut_Entfernen { get; set; }
[DisplayName("PDF Erzeugen")]
public bool PDF_Erzeugen { get; set; }
[DisplayName("Wasserzeichen Hinzufügen")]
public bool Waasserzeichen_Hinzufügen { get; set; }
}
}
private void button2_Click(object sender, EventArgs e) //Dokument auswählen
{
//This should be done in Form load event
BindingList<DateienList> myList = new BindingList<DateienList>();
dataGridView1.DataSource = myList; //Datasource set
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Word(*.docx)| *.docx|PPT(*.pptx)|*.pptx|PDF(*.pdf)|*.pdf|Alle Dateien(*.*)|*.*";
ofd.Multiselect = true;
List<DateienList> dateienlist = new List<DateienList>();
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
//Loop the files selected from dialog, and find information here.
foreach (var item in ofd.FileNames)
{
DateienList tmp= new DateienList();
tmp.Dateiennamen = item;
FileInfo fileInfo = new FileInfo(item);
if (fileInfo.Extension.ToLower().Equals(".pdf"))
{
tmp.PDF_Erzeugen = true;
tmp.Umlaut_Entfernen = false;
tmp.Waasserzeichen_Hinzufügen = false;
}
// check for other file types
myList.Add(tmp);
}
}
}