在datagridview中自动完成单个单词

时间:2014-04-08 08:20:05

标签: vb.net datagridview autocomplete

我需要在datagridview单元格中实现自动完成功能。我需要它一个字一个字地工作,就像在Android上的短信应用程序。在我输入空格后,它应该开始寻找我正在键入的单词,并根据我在同一个Datagridview中使用的其他单词提出它。

它更像一个单词建议,如果我点击标签自动填充这个词给我。

这可能吗?我知道如何基于整个单元格来完成它,但根据单个单词不知道如何做到这一点。 (像谷歌一样)

由于

编辑:

到目前为止,我有这个。这个概念正在运行,但每次按下一个键时我都需要更新列表。对此有何帮助?

Private Sub DataGridView2_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DataGridView2.EditingControlShowing

        wrdlst.Add("arabia")
        wrdlst.Add("burundi")
        wrdlst.Add("closed")
        wrdlst.Add("afganistan")
        wrdlst.Add("door")
        wrdlst.Add("banana")
        wrdlst.Add("apple")


    Dim basestring As String = Nothing
    basestring = CStr(DataGridView2.CurrentCell.Value)
    If Not IsNothing(basestring) Then
        Dim lastword As String
        Dim lastspaceindex As Integer = basestring.LastIndexOf(" ") + 1 '''+1 to get index after whitespace and compensate for -1 result

        lastword = basestring.Substring(lastspaceindex)

        Dim ItemCode As TextBox = TryCast(e.Control, TextBox)

        If ItemCode IsNot Nothing Then
            ItemCode.AutoCompleteMode = AutoCompleteMode.SuggestAppend
            'ItemCode.AutoCompleteCustomSource = wrdlst

            For Each element As String In wrdlst
                If element.StartsWith(lastword) Then
                    ItemCode.AutoCompleteCustomSource.Add(basestring.Substring(0, lastspaceindex) & element)
                End If
            Next

            ItemCode.AutoCompleteSource = AutoCompleteSource.CustomSource

        End If
    End If

End Sub

  Private Sub DataGridView2_KeyUp(sender As Object, e As KeyEventArgs) Handles DataGridView2.KeyUp


 ??????????????????????????????????????????


End Sub

0 个答案:

没有答案