При назначении сложного объекта как DataTable
свойству DataSource элементов управления ComboBox или ListBox укажите, используя свойство DisplayMember , которое Column
[ 1122] объекта DataTable следует использовать в качестве источника для отображения текста элементов ListControl.
Если выбранный элемент также должен возвращать значение, отличное от отображаемого текста, также установите для свойства ValueMember имя столбца, предоставляющего связанные значения.
Возможно, до установки ссылки на источник данных элемента управления (чтобы избежать избыточных итераций базовых данных).
Давайте создадим DataTable
для проверки процедуры:
Назначьте DataTable
для DataSource
элемента управления ComboBox, указав в качестве DisplayMember
имя столбца, который предоставляет текст отображать и как ValueMember
имя столбца, который предоставляет дополнительные данные, которые будут возвращены свойством ComboBox.SelectedValue
при изменении пользователем SelectedItem
:
Dim dt As New DataTable("TestTable")
dt.Columns.AddRange({
New DataColumn("Names", GetType(String)),
New DataColumn("Values", GetType(Integer))
})
Dim row As DataRow = dt.NewRow()
row.ItemArray = New Object() {"Some Name", 1}
dt.Rows.Add(row)
row = dt.NewRow()
row.ItemArray = New Object() {"Some OtherName Jr.", 2}
dt.Rows.Add(row)
row = dt.NewRow()
row.ItemArray = New Object() {"Another Name", 3}
dt.Rows.Add(row)
row = dt.NewRow()
row.ItemArray = New Object() {"Last Name", 4}
dt.Rows.Add(row)
ComboBox1.DisplayMember = "Names"
ComboBox1.ValueMember = "Values"
ComboBox1.DataSource = dt.DefaultView
Private Sub ComboBox1_SelectionChangeCommitted(sender As Object, e As EventArgs) Handles ComboBox1.SelectionChangeCommitted
Dim cbo = DirectCast(sender, ComboBox)
TextBox1.Text = cbo.GetItemText(cbo.SelectedValue)
End Sub
Результат:
Конкретно в отношении фактического объединения соединений LDAP при использовании созданного в поставщике JNDI LDAP соединения уже объединены с помощью семантики, подобной источникам данных JDBC, где отдельные пулы сохраняются для различных URL LDAP и свойств безопасности.
При создании JNDI DirContext
, настройте свойство com.sun.jndi.ldap.connect.pool, чтобы быть верными, и объединение будет включено.
Существует больше информации о LDAP, объединяющем здесь.
Детали о конфигурировании объединения LDAP здесь.
С jboss можно объединить внешние контексты JNDI в федерацию в сервер JBoss пространство имен JNDI. Все, что необходимо сделать, должно описать доступ LDAP в конфигурационном файле MBean. Можно также позволить кэшироваться.
Мы используем это решение получить доступ к Серверу каталогов Ative.
Шанс можно ли установить dev версию LDAP и использования это? Затем можно использовать jndi.properties файл, который был бы конкретной средой, но агностической к системе.
Править: различие здесь - то, что, когда Вы создаете свое приложение, Ваш администратор может развернуть его на производственной системе, таким образом, защитив драгоценный ldap пароль, поскольку оно только существует в файле свойств на производственном поле.