تم النشر منذ 22 May 2016 السلام عليكم و رحمه الله ارجوا المساعده في هذه المشكله . اريد حصر أسماء جميع الملفات من فولدر معين بما في ذلك الفولدرات الداخليه و ارسال البيانات الى ملف اكسل لكن عند تشغيل التطبيق يعطى الرساله الاتيه: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index و هذا هو الكود المستخدم private void button1_Click(object sender, EventArgs e) { /* get all files name without path*/ string path; if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { path = folderBrowserDialog1.SelectedPath; string[] files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories); int i = 0; foreach (string file in files) { //listBox1.Items.Add(Path.GetFileName(file)); dataGridView1.Rows[0].Cells.Value = file; i++; } } } ارجوا الافاده جزاكم الله خيرا test.rar 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 22 May 2016 1-اضف عمود اولا add Column عند التصميم datagrideview 2-مسح البانات السابقة datagrideview 3-اضف لكل ملف row 4-.Rows[0].Cells .... خطأ اعكس اليك الكود الصحيح private void button1_Click(object sender, EventArgs e) { /* get all files name without path*/ string path; if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { path = folderBrowserDialog1.SelectedPath; string[] files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories); int i = 0; dataGridView1.Rows.Clear();// 1-clear all old data foreach (string file in files) { dataGridView1.Rows.Add();// 2- add new row dataGridView1.Rows[i].Cells[0].Value = file;// 3-not Row[0] but Cell[0] i++; } } } 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
0 قام بالرد منذ 26 May 2016 جزاكم الله خيرا و الف شكر على الرد. انا نفذت البرنامج كالتالى : /* get all files name without path*/ string path; if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { path = folderBrowserDialog1.SelectedPath; Extensions = comExtensions.Text; string[] files = Directory.GetFiles(path, "*."+ Extensions , SearchOption.AllDirectories); foreach (string file in files) { dt.Rows.Add(resultecode, qualityNm, partDes, "", partcol, "مستطيل", resultesize, partName, ""); //add to datatable } this.dgvMain.DataSource = dt; //add to datagridview } ارجوا من الله ان ينفع بكم و يزيدكم علما و ينفعكم بما علمكم مره اخرى شكرا جزيلا 0 شارك هذا الرد رابط المشاركة شارك الرد من خلال المواقع ادناه
تم النشر منذ
السلام عليكم و رحمه الله
ارجوا المساعده في هذه المشكله . اريد حصر أسماء جميع الملفات من فولدر معين بما في ذلك الفولدرات الداخليه و ارسال البيانات الى ملف اكسل
لكن عند تشغيل التطبيق يعطى الرساله الاتيه:
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
و هذا هو الكود المستخدم
private void button1_Click(object sender, EventArgs e)
{
/* get all files name without path*/
string path;
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
path = folderBrowserDialog1.SelectedPath;
string[] files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories);
int i = 0;
foreach (string file in files)
{
//listBox1.Items.Add(Path.GetFileName(file));
dataGridView1.Rows[0].Cells.Value = file;
i++;
}
}
}
ارجوا الافاده جزاكم الله خيرا
test.rar
شارك هذا الرد
رابط المشاركة
شارك الرد من خلال المواقع ادناه