У меня есть winform со связанным datagridview, 4 текстовыми полями и кнопкой. При нажатии кнопки вызывается оператор fillby, данные загружаются в datagridview, а содержимое текстовых полей становится значением по умолчанию для некоторых полей в новых строках datagridview.Проверка наличия текстовых полей
Мне нужно проверить все текстовые поля, чтобы убедиться, что они не пусты, если какой-либо из них пуст, тогда должно появиться сообщение о том, какое текстовое поле пустое, а также не позволяет заполнять datagridview.
Это код, который я до сих пор:
Private Sub btnCargarInformacion_Click(sender As System.Object, e As System.EventArgs) Handles btnCargar.Click
Dim emptyTextBoxes =
From txt In Me.Controls.OfType(Of TextBox)()
Where txt.Text.Length = 0
Select txt.Name
If emptyTextBoxes.Count >= -1 Then
MessageBox.Show(String.Format("Please fill following textboxes: {0}", String.Join(",", emptyTextBoxes)))
Else
Dim PartePersonalTableApt As New PersonalObraDataSetTableAdapters.PartePersonalTableAdapter
Dim PersonalObTableApt As New PersonalObraDataSetTableAdapters.PersonalObTableAdapter
PartePersonalTableApt.ClearBeforeFill = True
PartePersonalTableApt.FillByFecha(PersonalObraDataSet.PartePersonal, txtDate.Text, txtDepartamento.Text, txtTurno.Text)
PersonalObTableApt.ClearBeforeFill = True
PersonalObTableApt.Fillby(PersonalObraDataSet.PersonalOb)
End If
End Sub
Я не получаю никаких ошибок, появляется сообщение, даже если все текстовые поля заполнены, окно сообщения не указывая каких-либо текстовых полей, как пустой и останавливает datagridview от заполнения.
Я очень новичок в области трещин, поэтому, пожалуйста, объясните более подробно ваше решение. Благодаря
Это не исправить. Нет ошибок, но нет сообщений ни независимо от пустых или заполненных текстовых ящиков. Спасибо – David
@David - Элементы управления TextBox, похоже, не имеют свойства .Name, возможно, вы хотели использовать Select txt.ID –
Возможно, я ошибаюсь, но все элементы управления должны иметь свойство Name. Идентификатор не является вариантом, предложенным специалистами visual studio. Возможно, я ошибаюсь. – David