PDA

View Full Version : اضافه کردن آرایه در لیست ویو .



harani
دوشنبه 15 آبان 1391, 17:15 عصر
با سلام خدمت دوستان : من یک فرم دارم که شامل یک باتن با نام Add و یک لیست ویو است که در حالت Detail قرار دارد و سه ستون هم دارد . از طرفی من سه ArrayList دارم (مثلاً با نامهای ArrayList_Name,ArrayList_Code,ArrayList_Tel) حال میخواهم با فشردن دکمه ی Add ,مقادیر آرایه اول (ArrayList_Name) در ستون اول لیست ویو و مقادیر آرایه دوم و سوم در ستونهای دوم و سوم آن به نمایش در بیاید . اینکار چگونه ممکن است ؟؟ (مخصوصاً ستونهای دوم و سوم لطفاً برای پاسخ از ArrayList_X.Add استفاده نکنید)


با سپاس از همگی .

morteza271
دوشنبه 15 آبان 1391, 17:19 عصر
(لطفاً برای پاسخ از ArrayList_X.Add استفاده نکنید)
ببخشید برای پاسخ میتونیم از حلقه استفاده کنیم؟؟؟:لبخند:

میتونید از یه حلقه استفاده کنید و در هر بار یک سطر جدید به لیست ویو اضافه کنید که مقادیرش رو از خونه های سه آرایه بگیره.

harani
دوشنبه 15 آبان 1391, 17:50 عصر
ببنید من از کد زیر استفاده میکنم ولی مقادیر ستونهای دوم و سوم مقادیر تکراری هستند (یعنی مقدار مربوط به یک عضو آرایه در ستون نشون داده میشه)



foreach (String names in ArrayList_Name)//p
{
ListViewItem item = new ListViewItem(names);//j

foreach (string codes in ArrayList_Code)//k
item.SubItems.AddRange(codes);//d

foreach (string tels in ArrayList_Tel)//c
item.SubItems.Add(tels);//d

listView1.Items.Add(item);//a
}

morteza271
دوشنبه 15 آبان 1391, 18:11 عصر
به صورت زیر استفاده کنید :
for(int i=0; i<ArrayList_Name.Length; i++)
{
ListViewItem item = new ListViewItem(ArrayList_Name[i]);
item.SubItems.Add(ArrayList_Code[i]);
item.SubItems.Add(ArrayList_Tel[i]);
listView1.Items.Add(item);
}
البته دقت کنید که اندازه سه آرایه با هم برابر باشه...

harani
دوشنبه 15 آبان 1391, 19:27 عصر
ممنون ولی ArrayList چیزی به عنوان Lenght نداره بعدش در ListViewItem مقدار ArrayList_Name[i] رو که میذارم برنامه خطا میده .

morteza271
دوشنبه 15 آبان 1391, 20:43 عصر
ممنون ولی ArrayList چیزی به عنوان Lenght نداره بعدش در ListViewItem مقدار ArrayList_Name[i] رو که میذارم برنامه خطا میده .
آره درسته Length نداره ولی Count که داره دوست من!!! من دقت نکردم شما دقت کنید!!!:گیج:
یه .ToString() بهش اضافه کنی درست میشه!

harani
دوشنبه 15 آبان 1391, 20:50 عصر
خیلی ممنون دوست من از توجه و کمکی که به من کردی با توجه به پاسخ شما تونستم یه راه کوتاهتر پیدا کنم بازم از زحمت شما ممنونم .

morteza271
دوشنبه 15 آبان 1391, 21:15 عصر
خیلی ممنون دوست من از توجه و کمکی که به من کردی با توجه به پاسخ شما تونستم یه راه کوتاهتر پیدا کنم بازم از زحمت شما ممنونم .
خیلی خوبه که مشکلتون برطرف شد.
پس یه لطفی بکنید و روشتون که گفتین کوتاه تره رو هم اینجا بذارین تا هم من ازش استفاده کنم و هم بقیه دوستان اگه یه وقت به مشکل مشابه بر خوردن به جوابشون برسن.
با تشکر...

harani
دوشنبه 15 آبان 1391, 21:22 عصر
همین راه شماس فقط به جای جدا جدا اضافه کردن یکباره این کارو کردم :


foreach (String name in ArrayList_Name)//h
{

int i = ArrayList_Name.IndexOf(name);//d

ListViewItem item = new ListViewItem(new string[] { name, ArrayList_Code[i].ToString()
,ArrayList_Tel[i].ToString()});//b
lisview1.Items.Add(item);//a

}