Это форма для поддержки пользовательских привилегий в приложении на основе MySQL. Каждый пользователь имеет атрибуты, например. имя, должность, дату ввода и т. д., а также права доступа к трем областям приложения: «обслуживание пользователей», «обслуживание поставщиков» и «администрирование заказов». Доступные привилегии могут быть «без доступа», «только для чтения», «изменять». Они хранятся в объекте «Словарь».vb .NET ComboBox, заполненный словарем, хранящим значение из набора данных
В форме есть ComboBoxes для каждой области приложения, где должна быть назначена привилегия доступа. Текущие права доступа находятся в записи пользователя в таблице базы данных.
Вот код:
Public Class _000Test
Private Enum AccessPrivilege
no_access = 0
read_only = 1
modify = 2
End Enum
Private AccessList As New Dictionary(Of Integer, String) From _
{{AccessPrivilege.no_access, "kein Zutritt"}, _
{AccessPrivilege.read_only, "darf lesen"}, _
{AccessPrivilege.modify, "darf bearbeiten"}}
Private Sub _000Test_Load(sender As Object, e As EventArgs) Handles MyBase.Load
OrderAdminComboBox.DataSource = New BindingSource(AccessList, Nothing)
OrderAdminComboBox.ValueMember = "Key"
OrderAdminComboBox.DisplayMember = "Value"
OrderAdminComboBox.DataBindings _
.Add(New System.Windows.Forms.Binding("SelectedValue", UserBindingSource, "OrderAdmin", True))
SupplierAdminComboBox.DataSource = New BindingSource(AccessList, Nothing)
SupplierMaintComboBox.ValueMember = "Key"
SupplierMaintComboBox.DisplayMember = "Value"
SupplierMaintComboBox.DataBindings _
.Add(New System.Windows.Forms.Binding("SelectedValue", UserBindingSource, "SupplierMaint", False))
OrderAdminComboBox.DataSource = New BindingSource(AccessList, Nothing)
OrderAdminComboBox.ValueMember = "Key"
OrderAdminComboBox.DisplayMember = "Value"
OrderAdminComboBox.DataBindings _
.Add(New System.Windows.Forms.Binding("SelectedValue", UserBindingSource, "OrderAdmin", True))
Me.UserTableAdapter.Fill(Me.Bringadb_AppDS.User)
End Sub
У меня есть проблема в том, что ComboBoxes не работают. Независимо от того, какие значения в записи базы данных в таблице будут отображаться в поле со списком 0 - «без доступа». У меня также были значения привилегий доступа в таблице и установить для него свойство DataSource - тот же результат.
Любые подсказки? Заранее спасибо.
Sorry: WinForms –
Показать, что 'UserBindingSource' есть. Seem slike Binding не может найти значение 'OrderAdmin' в DataSource ComboBox – Fabio
Мне нужно перевести всю соответствующую информацию с немецкого на английский, так кратко: UserBindingSource - это System.Windows.Forms.BindingSource с DataSource, установленным в ProjectDatasource (т. Е. весь dabase) и DataMember, установленный в таблицу с именем Users. Таблица среди других содержит поле SByte для каждой привилегии доступа, поэтому для OrderAdmin. В MySQL Workbench поле OrderAdmin имеет значение 2, то есть modif-access. –