1. 游客, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

c# поиск по listbox

本贴由 Fituchini2014-07-04 发布. 版块名称: .NET

  1. TopicStarter Overlay

    Fituchini Пользователи

    注册日期:
    2010-04-28
    帖子:
    339
    支持:
    71
    性别:
    Репутация:
    0
    Команда:
    PWAA
    Страна:
    Russian Federation Russian Federation
    Вопрос. Как сделать поиск по listbox чтобы данные выводил в другой listbox
    [​IMG]
    google даёт на Delphi или не то что надо
    代码:
    listBox_items.Items.Clear();
    for (int i = 0; i < listBox_items.Items.Count; ++i) {
    if (listBox_items.Items[ i ].ToString() == textBox1.Text) {
    listBox_items2.Items.Add(i.ToString() + " " + listBox_items.Items[ i ]);
                    }
            }
        } 
    сделал так, но первый листбокс просто исчезает и ничего не отображается

    Если есть альтернативные варианты с выделением нужного по результату поиска Selected
  2. Joslian AngeliCore Программист Пользователи Open Source Contributor

    注册日期:
    2012-10-07
    帖子:
    1,051
    支持:
    537
    性别:
    Репутация:
    2
    конечно будет исчезать.
    Измени на:
    listBox_items2.Items.Clear();
  3. TopicStarter Overlay

    Fituchini Пользователи

    注册日期:
    2010-04-28
    帖子:
    339
    支持:
    71
    性别:
    Репутация:
    0
    Команда:
    PWAA
    Страна:
    Russian Federation Russian Federation
    не ищит(
    Увидел и изменил уже.
    Не реагирует никак как бы я не жал btn

    пробовал так, тоже не ищет
    代码:
     listBox_items.SelectedIndex = listBox_items.FindString(textBox1.Text);
  4. Joslian AngeliCore Программист Пользователи Open Source Contributor

    注册日期:
    2012-10-07
    帖子:
    1,051
    支持:
    537
    性别:
    Репутация:
    2
    Держи готовый вариант.

    附件文件:

    已获得Fituchini的支持.
  5. pdev Команда форума Администратор Программист Open Source Contributor

    注册日期:
    2012-09-24
    帖子:
    1,409
    支持:
    1,407
    性别:
    Репутация:
    7
    Команда:
    Indy
    Страна:
    Turkey Turkey
    контрол - не средство хранения данных, а лишь способ их визуализации
  6. TopicStarter Overlay

    Fituchini Пользователи

    注册日期:
    2010-04-28
    帖子:
    339
    支持:
    71
    性别:
    Репутация:
    0
    Команда:
    PWAA
    Страна:
    Russian Federation Russian Federation
    Спасибо джо но ты меня немного не понял
    [​IMG]
    как у Ронни ёмаё поиск работает. Так и тут надо только на c# и с прокруткой списка. Чтобы он когда в конец упрётся (ты допустим на 100 листе редактируешь что то), начал круг заново и прекратил его только на том листе где ты его запустил
    а с ListBox2 брехня какая то получается

    P.S. WPF для меня не постижим. Я только только основы вкуриваю.

    P.S.S Попробовал так
    代码:
    if (listBox_items.Items.Count > 0 && textBox1.Text != string.Empty)
                {
                    listBox_items2.Items.Clear();
                    for (int i = 0; i < listBox_items.Items.Count; i++)
                    {
                        if (listBox_items.Items[i].ToString() == textBox1.Text)
                            listBox_items2.Items.Add(string.Format("{0} {1}", i, listBox_items.Items[i]));
                    }
                }
                else
                {
                    MessageBox.Show("Ошибка!\nВозможные проблемы:\n - Нет записей в листе.\n - Пустое поле поиска.");
                }
            }
    не хочет искать.
    я как понимаю он по файлу ищет а не listbox
    Последнее редактирование: 2014-07-04
  7. SkyDev Программист Old school Пользователи Open Source Contributor

    注册日期:
    2010-03-21
    帖子:
    197
    支持:
    234
    性别:
    Репутация:
    -1
    Страна:
    Ukraine Ukraine
    foreach (var item in listBox1.Items)
    {
    var val = item.ToString().Split('-');
    if (val[0].Trim() == "231") listBox2.Items.Add(string.Format("{0} -- {1}", val[0], val[1]));
    }

    Где "231" искомое ид
    Последнее редактирование: 2014-07-04
    已获得Fituchini的支持.
  8. TopicStarter Overlay

    Fituchini Пользователи

    注册日期:
    2010-04-28
    帖子:
    339
    支持:
    71
    性别:
    Репутация:
    0
    Команда:
    PWAA
    Страна:
    Russian Federation Russian Federation
    я правильно понял?
    только почему неявный тип указания данных var?
    Ведь я ищу не по файлу а по ListBox ?

    Спасибо испробую, результат напишу

    Результат 0
    Последнее редактирование: 2014-07-04
  9. pdev Команда форума Администратор Программист Open Source Contributor

    注册日期:
    2012-09-24
    帖子:
    1,409
    支持:
    1,407
    性别:
    Репутация:
    7
    Команда:
    Indy
    Страна:
    Turkey Turkey
    тип явнее не бывает (string), только вот, определяется по правой части выражения.
    просто такая форма записи, более удобная, чем по-старинке.
  10. TopicStarter Overlay

    Fituchini Пользователи

    注册日期:
    2010-04-28
    帖子:
    339
    支持:
    71
    性别:
    Репутация:
    0
    Команда:
    PWAA
    Страна:
    Russian Federation Russian Federation
    В любом случае не ищит
  11. SkyDev Программист Old school Пользователи Open Source Contributor

    注册日期:
    2010-03-21
    帖子:
    197
    支持:
    234
    性别:
    Репутация:
    -1
    Страна:
    Ukraine Ukraine
    Дай участок кода, в котором добавляешь данные в свой listbox1.
    Ну или на крайняк измени на
    foreach (var item in listBox1.Items)
    {
    if (item.ToString().Contains(val.Trim())) listBox2.Items.Add(item);
    }
  12. p.daniil Программист Пользователи Open Source Contributor

    注册日期:
    2013-10-04
    帖子:
    22
    支持:
    58
    性别:
    Репутация:
    2
    Команда:
    No team
    Страна:
    Russian Federation Russian Federation
    Так и начни учить с WPF, с ним работать намного приятнее, да и возможностей больше, чем в WinForms.
Черновик сохранён Черновик удалён
Similar Threads
  1. Fituchini
    回复:
    31
    浏览:
    11,299
  2. Тыщ
    回复:
    6
    浏览:
    3,726
  3. Leo
    回复:
    3
    浏览:
    1,216
  4. borosh1234
    回复:
    15
    浏览:
    2,320
  5. maestro199
    回复:
    0
    浏览:
    1,746
正在加载...

分享此页面