绑定字段出错时如何移动焦点?



我 VB.Net 应用程序,其中某些字段绑定到数据表。

这是我的代码:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
Me.DxErrorProvider1 = New DevExpress.XtraEditors.DXErrorProvider.DXErrorProvider(Me.components)
Dim DT As DataTable = GetDT()
Me.TextEdit1.DataBindings.Add("EditValue", DT, "C1", True, DataSourceUpdateMode.OnValidation, "")
End Sub
Function GetDT() As DataTable
Dim DT As New DataTable
Dim i As Integer = 0
DT.Columns.Add(New DataColumn("C1", i.GetType))
Dim R As DataRow = DT.NewRow
R.Item(0) = 15
DT.Rows.Add(R)
Return DT
End Function

当用户在字段上键入错误的值时。焦点不能再移动了。

完整的代码实际上包含多个字段,我希望允许用户能够移动下一个字段,即使有错误的值。将显示一个红色图标,因此他可能希望稍后更正它。

请问有什么办法可以做到这一点吗?

谢谢。

这是解决方案:

Me.AutoValidate = Windows.Forms.AutoValidate.EnableAllowFocusChange

我在想,我想这个通过,我希望它有所帮助。

AddHandler TextEdit1.LostFocus, Sub()
If TextEdit1.ErrorText <> "Focus released" And TextEdit1.ErrorText <> ""  Then
TextEdit1.DataBindings(0).DataSourceUpdateMode = DataSourceUpdateMode.Never
DxErrorProvider1.SetError(TextEdit1, "Focus released")
Else
DxErrorProvider1.SetError(TextEdit1, "")
TextEdit1.DataBindings(0).DataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged
End If
End Sub

您还可以在两个 IF 段中的任何一个中添加TextEdit1.BackColor = Color.redTextEdit1.BackColor = Color.Empty

相关内容

  • 没有找到相关文章

最新更新