Hej! Hej mojje!Datagrid error-tooltip
Till min datagrid har jag lite validerins-kod i ColumnChanging som vid fel sätter ett ColumnError på rad/kolumn.
Det blir en fin liten röd error-icon i korrekt cell och det funkar fint.
När jag senare nolställer mitt error så iconen försvinner finns fortfarande tooltip-texten kvar när man pekar på cellen. Är detta en bug?
Någon som varit med om samma sak?Sv: Datagrid error-tooltip
Det her er et problem vi känner till (finns också i Visual Studio 2003).
Följande workaround borde fungera:
<code>
Private _TestDT As DataTable
Dim DataGrid1 As MyDataGrid
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
_TestDT = New DataTable()
With _TestDT.Columns
.Add("Col1", GetType(String))
.Add("Col2", GetType(String))
.Add("Col3", GetType(String))
End With
AddHandler _TestDT.ColumnChanging, AddressOf TestDT_ColumnChanging
DataGrid1 = New MyDataGrid()
Me.Controls.Add(DataGrid1)
DataGrid1.Width = 300
DataGrid1.Height = 300
DataGrid1.DataSource = _TestDT
End Sub
Private Sub TestDT_ColumnChanging(ByVal sender As Object, ByVal e As DataColumnChangeEventArgs)
With e
.Row.SetColumnError(.Column.Ordinal, String.Empty)
If .Column.ColumnName = "Col2" AndAlso TypeName(.ProposedValue) <>
"DBNull" Then
If .ProposedValue.ToString <> "TEST" Then
.Row.SetColumnError("Col2", "Värdet måste vara TEST")
Else
DataGrid1.ResetTooltips()
End If
End If
End With
End Sub
End Class
Public Class MyDataGrid
Inherits DataGrid
Public Sub ResetTooltips()
MyBase.OnScroll(EventArgs.Empty)
End Sub
End Class
</code>
Hoppas det löser ditt problem! :-)