[英]Unable to WRAP text in an Autocomplete Textbox column of DataGridView
我在 DataGridView(工作正常)中创建了一个自动完成文本框列。
现在没有问题,直到文本大小变小,但是当文本变长时,它不会被包裹在列中,文本会被修剪。 这就是问题
如果我将列的WRAP
属性设置为TRUE
则文本框将停止自动完成。 所以,它就像自动完成或包装一样,但我需要两者......
如果可以在其中完成任何操作,我会将我的代码放在下面,看看 -
Private Sub DataGridView2_EditingControlShowing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView2.EditingControlShowing
DataGridView2.BeginEdit(True)
Dim autoText As TextBox = TryCast(e.Control, TextBox)
If autoText IsNot Nothing Then
autoText.AutoCompleteMode = AutoCompleteMode.SuggestAppend
autoText.AutoCompleteCustomSource = AutoCompleteLoad()
autoText.AutoCompleteSource = AutoCompleteSource.CustomSource
End If
End Sub
Public Function AutoCompleteLoad() As AutoCompleteStringCollection
Dim str As AutoCompleteStringCollection = New AutoCompleteStringCollection()
Dim ConnectionString As SqlConnection = New SqlConnection("data source=ADMIN-PC\SQLEXPRESS; database=billdev;Trusted_Connection=yes;")
Dim strSQL As String = "SELECT particulars from bill;"
Dim SQLcommand As New SqlCommand(strSQL, ConnectionString)
ConnectionString.Open()
Dim reader As SqlDataReader
reader = SQLcommand.ExecuteReader()
While reader.Read()
str.Add(reader.Item(0))
End While
Return str
End Function
[已解决] 也许它在 datagridview 控件中有一个错误。 我们可以做一种作弊方法来解决这个问题。
例子:
DGV.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.False (CellBegainEdit) DGV.RowsDefaultCellStyle.WrapMode = DataGridViewTriState.True (CellEndEdit)
它为我工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.