PDA

View Full Version : سوال: بدست آوردن شماره ايندكس آيتم Listview كه سلكت شده ؟



احمد سامعی
پنج شنبه 29 اسفند 1387, 10:23 صبح
سلام

من يك ListView دارم و چندتا تكس باكس به تعداد Columns هاي ليست ويو ..
كاربر هر بار كه اين تكس باكس ها رو پر مي كنه و با يك باتن Add مي كنه اين ها رو ليست ويو

حالا اگر بخوام اين ليست اديت كنم بايد اول كاربر يكي از Item هاي ListView رو Select كنه بعد با يك كليد ديگه بتونم اجازه حذف يا ويرايش بدم

چطوري و با چه متدي بفهمم شماره ايندكس آيتمي كه كاربر Select كرده چيه ؟

من از كد زير استفاده كردم كه غير منطقي به نظر مي آيد.


// Uses the SelectedItems property to retrieve and tally the price
// of the selected menu items.
int se = 0;
private void ListView1_SelectedIndexChanged_UsingItems(
object sender, System.EventArgs e)
{

ListView.SelectedListViewItemCollection breakfast = this.listView1.SelectedItems;

foreach (ListViewItem item in breakfast)
{
se = item.Index;
}
}

private void button4_Click(object sender, EventArgs e)
{
listView1.Items.RemoveAt(se);
}

MostafaAhmadi
پنج شنبه 29 اسفند 1387, 11:02 صبح
سلام
اگه در برنامتون اجازه فقط انتخاب یک item رو به کاربر می دید می تونید بصورت زیر index اون رو بدست بیارین.
listView1.SelectedItems[0].Index

احمد سامعی
پنج شنبه 29 اسفند 1387, 15:04 عصر
سلام
اگه در برنامتون اجازه فقط انتخاب یک item رو به کاربر می دید می تونید بصورت زیر index اون رو بدست بیارین.
listView1.SelectedItems[0].Index

آقا منون
يك سوال ديگه:

چطوري مي تونم عكس به Columns اضافه كنم يعني تو هر آيتم درهر كدوم از SubItems ها عكس داشته باشم ؟

منون

احمد سامعی
پنج شنبه 29 اسفند 1387, 21:04 عصر
آقا فهميدم راه بهتر استفاده از Event به نام (ItemSelectionChanged) از كنترل ListView هست بايد از پارامتر خودش استفاده كرد من با كد زير كارم راه افتاد اگر e.Item.Selected در حالتtrue باشه همون كه كاربر سلكت كرد شماره ايندكس هم مي شه e.Item.Index


private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
try
{
if (e.Item.Selected)
{
textBox1.Text = e.Item.SubItems[0].Text;
}
}
catch (Exception ex)
{
MessageBox.Show("به دليل اشكال امكان انتخاب وجود ندارد");
}
}