Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для Leon37
78 / 24 / 4
Регистрация: 09.01.2015
Сообщений: 214
.NET 4.x

Поиск в ListView по части строки

24.01.2015, 17:39. Показов 2379. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравия!
Использую код поиска:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Try
            Dim N As Integer
            Dim FItem As ListViewItem = ListView1.FindItemWithText(TextBox1.Text, True, 0, True)
 
            If (FItem IsNot Nothing) Then
                ListView1.TopItem = FItem
                N = ListView1.Items.IndexOf(FItem)
                ListView1.Focus()
                ListView1.Items.Item(N).Selected = True
                ListView1.EnsureVisible(N)
            Else
                MsgBox("Совпадений не найдено!")
            End If
        Catch
        End Try
Все вроде устраивает кроме одного: В первом столбце у меня три слова, первое слово он находит а дальше не хочет. Как сие вылечить?
Миниатюры
Поиск в ListView по части строки  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.01.2015, 17:39
Ответы с готовыми решениями:

Поиск по части строки
Суть в чем. Есть контейнеры с данными. примерная разметка <input type="text"> <button...

Поиск и удаление части строки
Доброго времени суток. Есть файл вида: Иванов$Иван;Иванович gsgd;1234$121 Петров$Петр;Петрович dds g434134 ...

Поиск и сравнение части строки
Есть строки типа: http://site.ru/rtr/erer/dfdf/php http://site.ru/ss/df/df/dfdf.php http://site1.ru/rtr/erer/dfdf/php ...

4
4708 / 3661 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
25.01.2015, 00:46
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Нужно реализовать свой поиск. Например так:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Imports System.Text.RegularExpressions
'.....
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
    Dim j As Integer = findWrd("Иван", ListView1)
    If j < 0 Then Exit Sub
    ListView1.Focus()
    ListView1.Items.Item(j).Selected = True
    ListView1.EnsureVisible(j)
End Sub
Private Function findWrd(ByVal sFind As String, ByVal lv As ListView) As Integer
    Dim lvc As New ListViewItemCollection(lv)
    Dim s As String
    Dim jj As Integer = -1
    For Each lvi As ListViewItem In lvc
        s = lvi.Text
        If Regex.IsMatch(s, sFind, RegexOptions.IgnoreCase) Then
            jj = lvc.IndexOf(lvi)
            Exit For  'до первого совпадения
        End If
    Next
    Return jj
End Function
5
 Аватар для Leon37
78 / 24 / 4
Регистрация: 09.01.2015
Сообщений: 214
25.01.2015, 12:23  [ТС]
ovva, Спасибо, вопрос решен.
0
34 / 20 / 4
Регистрация: 07.03.2015
Сообщений: 334
19.03.2016, 02:57
VB.NET
1
Regex.IsMatch(s, sFind, RegexOptions.IgnoreCase)
почему если в искомой строке(sFind) имеются символ "[" происходит странная ошибка - типа вы не закрыли тег)
с чем это связано?

зы могу потом предоставить текс с этой ошибкой
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18296 / 14220 / 5368
Регистрация: 17.03.2014
Сообщений: 28,897
Записей в блоге: 1
19.03.2016, 07:17
Fakels, символ [ является служебным символом регулярных выражений. В функции findWrd перед циклом For Each следует добавить следующую строку
VB.NET
1
sFind = Regex.Escape(sFind)
или вообще убрать использование регулярных выражений переписав условие так
VB.NET
1
If s.IndexOf(sFind, StringComparison.OrdinalIgnoreCase) <> -1 Then
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.03.2016, 07:17
Помогаю со студенческими работами здесь

Реализовать поиск по совпадению по части строки
Добрый день,имеется запрос нужно что бы искало по полю name, но не строки что именно в поле,а что бы можно было только часть строки...

Поиск полной строки по части предложения
Всем привет, столкнулся с такой ситуацией! У меня есть файл txt с множеством информации в таком плане Пример текстового документа: ...

Поиск в базе по части строки Memo
В общем такой вопрос. В поле мемо считывается файл такого типа: и такого: надо чтоб по номеру документа из мемо искал данные в...

Поиск и замена части строки в файле txt
Добрый день товарищи! Знаю тема неоднократно создавалась,но пошуршав на сайте ничего такого как нужно мне не нашел, а лепить костыль не...

Поиск по строкам на совпадение по части строки с текстом Edit
Здравствуйте, подскажите пожалуйста как сделать поиск например я ввел в edit1 001-002 и должно вывести вот так error 001: expected token:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru