PDA

View Full Version : حذف ایتم های تکراری لیست باکس !



alnajon
دوشنبه 24 تیر 1392, 14:07 عصر
با سلام ...
چطور میشه با کلیک رو باتن تمام ایتم های تکراری یک لیست باکس حذف بشه به جز یکیشون !
مثلا این :
ali
ahmad
reza
ali
reza

بشه این :

ali
ahmad
reza

خیلی ممنون

shadi khanum
دوشنبه 24 تیر 1392, 14:16 عصر
راه های زیادی داره مثلا میتونی یه لیست String تعریف کنی بعد for روی لیست باکس بزنی و هر آیتمی رو اول چک کنی اگه تو لیست بود از لیست باکس حذف کنی و اگر نبود به لیست اضافه کنی، اینجوری از هر آیتمی که چند بار تکرار شده فقط اولی میمونه و بقیه حذف میشن

CsharpNevisi
دوشنبه 24 تیر 1392, 14:41 عصر
چطور میشه با کلیک رو باتن تمام ایتم های تکراری یک لیست باکس حذف بشه به جز یکیشون !

اینطوری :
for (int i = 0; i <= listBox1.Items.Count - 1; i++)
{
listBox1.SelectedIndex = i;
string basee = listBox1.Text;
for (int j = i + 1; j <= listBox1.Items.Count - 1; j++)
{
listBox1.SelectedIndex = j;
if (listBox1.Text == basee)
{
listBox1.Items.RemoveAt(listBox1.SelectedIndex);
}
}
}

tooraj_azizi_1035
دوشنبه 24 تیر 1392, 20:13 عصر
var items = listBox1.Items.OfType<string>().GroupBy(item => item).ToList();
listBox1.Items.Clear();
foreach (var item in items)
{
listBox1.Items.Add(item.Key + " = " + item.Count());
}

Y_Safaiee
دوشنبه 24 تیر 1392, 20:23 عصر
با سلام و سپاس از دوست عزیزم "تورج عزیزی" اینم یک نوع کد دیگس که همون کارو میکنه :



var q = (from p in listBox1.Items.OfType<string>().Distinct() select p).ToList();
listBox1.Items.Clear();
foreach (var i in q) listBox1.Items.Add(i);


موفق باشین
بایت بایت

مهرداد صفا
سه شنبه 25 تیر 1392, 00:01 صبح
با سلام.

listBox1.DataSource = listBox1.Items.Cast<string>().Distinct().ToList();

beijani
شنبه 03 مرداد 1394, 10:07 صبح
این دقیق تر دوستان

for (int i = 0; i <= list_onvan.Items.Count - 1; i++)
{
list_onvan.SelectedIndex = i;
string basee = list_onvan.Text;
for (int j = i + 1; j <= list_onvan.Items.Count - 1; j++)
{
list_onvan.SelectedIndex = j;
if (list_onvan.Text == basee)
{
list_onvan.Items.RemoveAt(list_onvan.SelectedIndex );
j = j - 1;
}
}
}

mahlake
شنبه 03 مرداد 1394, 10:11 صبح
SqlDataAdapter adb = new SqlDataAdapter("select distinct cname, cid from colleague", con);

فقط کافیه پشت اون فیلدی که میخوای تکراری نباشه این واژه رو بنویسی: distinct

من خودم از این روش استفاده میکنم خیلی راحت و کار آمده