2009-11-05 5 views
0

Хорошо, у меня возникла проблема с привязкой данных в .NET.
Некоторая справочная информация, мой бизнес-уровень объекта использует CSLA v1.0.
И _clientObj передается в качестве параметра в качестве бизнес-объекта, который наследует CSLA.BusinessBaseСвязывание данных в .NET с объектами CSLA

Вот фрагмент кода:

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 имеет начальное значение.

ответ

0
If Not _clientObj.ClientID = Nothing 

не является правильным способом проверки нулевого значения. Вы должны использовать:

If Not _clientObj.ClientID Is Nothing 

Однако я не уверен, действительно ли это проблема, с которой вы сталкиваетесь, или нет.