0

タイトルが示すように、指定されたインデックスからリストビュー内の単語の最初のインスタンスを返そうとしています。したがって、これは、リストビューの最初から検索しないことを意味し、パラメーターに追加した行から実際に返されます。私はそれを動作させることができないようです.選択したアイテムで動作させることはできますが、パラメータへの変数入力では動作させることができません.

    Private Function FindLogic(ByVal LV As ListView, ByVal CIndex As Integer, ByVal SearchFor As String) As Integer
    Dim idx As Integer
    Dim It = From i In LV.Items Where i.index > LV.Items(CIndex).Index And i.Text = SearchFor
    If It.Count > 0 Then
        idx = It(0).Index
    Else
        idx = -1
    End If
    Return idx
    End Function
4

1 に答える 1

0

クエリにはいくつかの問題があります。たとえば、選択部分がありません。これはトリックを行うようです:

Dim It As List(Of ListViewItem)
It = (From i As ListViewItem In lvwMain.Items Where i.Index > CIndex And i.Text = SearchFor Select i).ToList

CIndex は、検索を開始する ListView アイテムのインデックスであると想定しています。その場合、インデックス値を取得するためだけにその項目を検索する必要はありません (CIndex と同じになります)。

于 2012-11-26T05:53:34.053 に答える