Sql server 无法在DataGridView的自动完成文本框列中包装文本
我在DataGridView中创建了一个自动完成文本框列(工作正常) 现在,在文本大小变小之前没有问题,但是当文本变长时,它不会被包装在列中,文本会被修剪。 如果我将列的Sql server 无法在DataGridView的自动完成文本框列中包装文本,sql-server,vb.net,Sql Server,Vb.net,我在DataGridView中创建了一个自动完成文本框列(工作正常) 现在,在文本大小变小之前没有问题,但是当文本变长时,它不会被包装在列中,文本会被修剪。 如果我将列的WRAP属性设置为TRUE,则文本框将停止自动完成。 所以,它就像自动完成或包装,但我需要两者 我把我的代码放在下面如果有什么可以做的话,看看- Private Sub DataGridView2_EditingControlShowing(ByVal sender As System.Object, ByVal e
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控件中有一个bug。
我们可以用一种作弊的方法来解决这个问题
它对我有用。使用数据适配器填充数据表。然后使用datagridview1.DataSource=dt。请参阅:它将如何产生影响?当您自动允许数据源填充DGV时,自动缩放将起作用,以便所有文本都适合单元格。我发现手动设置DGV存在太多问题,其中更新缩放不起作用。然后,唯一的解决方案是删除DGV并添加一个新DGV。