PDA

View Full Version : مشکل در ListViewSubItem



mohsen.net
سه شنبه 09 خرداد 1385, 16:59 عصر
دوستان من یه یک مشکل کوچک برخورد کردم لطفا راهنمایی کنید
یک ListView داریم که در زمان طراحی خالی هست و در runtime مقادیر ستونها و آیتم های آن مشخص می شود(در حالت detail)
حالا مثلا اگر یک ستون یه نام b و یک آیتم به نام item0 اضافه کنیم چگونه می توان با داشتن اسم اینها در زیر ستون b و در سطر item0 یک مقدار رشته ای اضافه کرد(قبلا این مقدار وجود نداشته و ما فقط ستون ها و سطر ها را تعریف کرده ایم)
متد add فقط subitem ها را یه صورت پشت سر هم اضافه می کند و اجازه پرش نمی دهد(یا شاید من اینطور فکر می کنم)

hdv212
سه شنبه 09 خرداد 1385, 22:43 عصر
با سلام .
شما با این دستورات میتونی به ListView آیتم اضافه کنید .
ابتدا باید ستونها رو تعریف کنید مثلا ئر مثال زیر دو ستون به نامهای نام و نام خانوادگی ایجاد میکنیم:
listView1.View = View.Details;
listView1.GridLines = true;
listView1.Columns.Add("نام",70,HorizontalAlignment.Left);
listView1.Columns.Add("فامیل",80,HorizontalAlignment.Left);
حالا نوبت به اضافه کردن پارامترها میره که این کدهارو میتونید در رویدادی مثل کلیک قرار بدید :
ListViewItem item = listView1.Items.Add("ali");
item.SubItems.Add("vaziri");

موفق باشید.

mohsen.net
شنبه 13 خرداد 1385, 16:03 عصر
سلام
مرسی از جواب شما . این کدها رو که نوشتید من می دانستم و شاید متوجه منظور من نشدید.
الان در این عکس که پیوست شده چه جور می توان درزیر column4 و سطر item1 یک متن نوشت؟

once4ever
شنبه 13 خرداد 1385, 17:55 عصر
تا جاییکه من میدونم در یک listview نمیشه یک ستون درست نشده! داشت.
به همین دلیل برای مورد شما فکر کنم این تنها راه باشه:

listView1.Items[1].SubItems.Add("");
listView1.Items[1].SubItems.Add("");
listView1.Items[1].SubItems.Add("value 4");


البته از insert هم میتونی استفاده کنی.

mohsen.net
یک شنبه 14 خرداد 1385, 16:05 عصر
من برای حل مشکل به تعداد سطرها و ستون ها listView را مقدار دهی اولیه کردم
امابه یک مشکل دیگه برخورد کردم.

listView1.Items[0].SubItems[2].Text +="ali";

چرا این کد کار نمی کند؟ یعنی در سطر آخر(نه صفرم) و ستون دوم(که خدا بخواهد این یکی درست هست) کلمه علی اضافه می شود در حالی که باید در سطر صفرم اضافه شود.

once4ever
یک شنبه 14 خرداد 1385, 16:22 عصر
ببین listview چون حالت افزایشی کار میکنه - و برای حالتی که تو داری ازش استفاده میکنی طراحی نشده - یه سری مشکلات داره!
با این ببین درست کار میکنه؟

string txt=listView1.Items[0].SubItems[2].Text + "ali";
listView1.Items[0].SubItems[2].Text = txt;