X-Received: by 2002:a05:622a:148e:b0:2e2:2ebd:63d9 with SMTP id t14-20020a05622a148e00b002e22ebd63d9mr33352931qtx.601.1648647008777; Wed, 30 Mar 2022 06:30:08 -0700 (PDT) X-Received: by 2002:a81:4e4b:0:b0:2e6:b48d:a190 with SMTP id c72-20020a814e4b000000b002e6b48da190mr35718708ywb.112.1648647008543; Wed, 30 Mar 2022 06:30:08 -0700 (PDT) Path: csiph.com!1.us.feeder.erje.net!3.us.feeder.erje.net!feeder.erje.net!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: it.comp.lang.visual-basic Date: Wed, 30 Mar 2022 06:30:08 -0700 (PDT) In-Reply-To: Injection-Info: google-groups.googlegroups.com; posting-host=165.225.203.34; posting-account=yvxj_woAAABxrxq8XihQzP-tWUWpycQc NNTP-Posting-Host: 165.225.203.34 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <5a8dfbb1-b70f-49e5-b930-e1d15aa220c5n@googlegroups.com> Subject: Re: Filtro Checked listbox From: Marco75 Injection-Date: Wed, 30 Mar 2022 13:30:08 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Lines: 64 Xref: csiph.com it.comp.lang.visual-basic:19964 Il giorno mercoled=C3=AC 30 marzo 2022 alle 10:18:33 UTC+2 Marco75 ha scrit= to: > ciao,=20 > ho una Checkedlistbox popolata tramite una query da SQL Server.=20 > vorrei inserire un campo ricerca dove, man mano che digito esegue il filt= ro sugli item restituendomi quelli corrispondenti.=20 >=20 > ho provato questo codice, funziona nel senso che mi porta al primo item c= he trova basato su quanto sto digitando, ma vorrei che andasse a filtrare m= ostrando solo quello che corrisponde e non portarmi all'item mostrando comu= nque tutto il resto, =C3=A8 possibile?=20 >=20 > questo il codice:=20 > Private Sub tb_Cerca_TextChanged(sender As Object, e As EventArgs) Handle= s tb_Cerca.TextChanged=20 >=20 > tb_Cerca.Text =3D UCase(tb_Cerca.Text)=20 > tb_Cerca.SelectionStart =3D tb_Cerca.TextLength=20 >=20 > CklbSelezionaFlowChart.SelectedItems.Clear()=20 > If tb_Cerca.Text <> "" Then=20 > Dim count As Integer =3D (CklbSelezionaFlowChart.Items.Count - 1)=20 > Dim words As String=20 > Dim a As Integer=20 >=20 > For a =3D 0 To count=20 > words =3D CklbSelezionaFlowChart.Items.Item(a)=20 > If words.ToUpper.Contains(tb_Cerca.Text.ToUpper) Then=20 > CklbSelezionaFlowChart.SelectedItems.Add(CklbSelezionaFlowChart.Items.Ite= m(a))=20 > CklbSelezionaFlowChart.Sorted =3D True=20 > End If=20 > Next=20 > End If=20 >=20 > grazie=20 > Marco ho trovato un codice che fa al caso mio: If Trim(tb_Cerca.Text) =3D "" Then Exit Sub Dim lb As ListBox =3D New ListBox Dim s As Integer =3D 0 For s =3D 0 To CklbSelezionaFlowChart.Items.Count - 1 If InStr(CklbSelezionaFlowChart.Items(s).ToString, tb_Cerca.Tex= t) Then lb.Items.Add(CklbSelezionaFlowChart.Items(s)) End If Next CklbSelezionaFlowChart.Items.Clear() For s =3D 0 To lb.Items.Count - 1 CklbSelezionaFlowChart.Items.Add(lb.Items(s).ToString) Next lb.Dispose() cos=C3=AC la listbox mostra solo gli Item a seguito del filtro per=C3=B2 se= cancello tutto o parte di quanto inserito in TextBox non ripropone gli ite= m che ha filtrato ma devo rieseguire la query.. in attesa di cortese risposta provo a vedere se risolvo grazie Marco