Связывание данных в.NET с CSLA BO
ОК, у меня довольно много проблем с привязками данных в.NET.
Некоторая справочная информация, мой уровень бизнес-объектов использует CSLA v1.0.
И _clientObj передается как параметр как бизнес-объект, который наследует CSLA.BusinessBase
Вот сегмент кода:
Dim nextClient As New ComboBox With { _
.Name = "txtClientAtt" & (ClientBoxes.Count + 1).ToString(), _
.DisplayMember = "FullNameAndID", .ValueMember = "ClientID", _
.Tag = _clientObj}
nextClient.DataSource = ClientList.GetClientList(SelectedSite)
nextClient.DataBindings.Add("SelectedValue", _clientObj, "ClientID")
If Not _clientObj.ClientID = Nothing AndAlso nextClient.SelectedValue Is Nothing Then
Debug.Print("How could I ever be inside this conditional????")
End If
Этот оператор отладки действительно достигается, если _clientObj является ранее существующим объектом с присвоенным значением идентификатора. Как это возможно? Я предполагал, что добавление привязки данных должно немедленно установить свойство.SelectedValue ComboBox, если объект DataSource имеет начальное значение.
1 ответ
If Not _clientObj.ClientID = Nothing
неправильный способ проверки на нулевое значение. Вы должны использовать:
If Not _clientObj.ClientID Is Nothing
Тем не менее, я не уверен, действительно ли это проблема, с которой вы столкнулись или нет.