У меня довольно сложный сценарий ComboBox, и, будучи новичком в программировании, я борюсь с тем, какой лучший подход выбрать.
У меня есть DataSet с DataTable, который имеет несколько числовых столбцов данных. Числовые данные состоят из расстояний, указанных в стандартных единицах США. В настоящее время мои ComboBox'ы настроены и работают, но мне нужно расширить то, что у меня сейчас есть, двумя способами.
Мне нужно иметь возможность преобразовать десятичные числа в отображаемом столбце данных в дроби, есть ли способ сделать это и поддерживать привязку данных? В этом случае это элемент отображения источника данных ...
Мне нужно иметь возможность отображать мои выпадающие параметры в разных наборах единиц ... Я написал классы преобразования единиц, чтобы помочь позаботиться об этом, но я не знаю, смогу ли я как-то это сделать это также и поддерживать привязку данных? Я хотел бы также преобразовать единицы измерения на элементах дисплея ...
Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectionChangeCommitted
Select Case ComboBox1.SelectedItem
Case "Tire1"
With ComboBox2
.DataSource = Tire1BindingSource
.ValueMember = "OD"
.DisplayMember = "OD"
End With
Case "Tire2"
With ComboBox2
.DataSource = Tire2BindingSource
.ValueMember = "OD"
.DisplayMember = "OD"
End With
Case "Tire3"
With ComboBox2
.DataSource = Tire3BindingSource
.ValueMember = "OD"
.DisplayMember = "OD"
End With
Case "HubCap"
ComboBox3.DataSource = Nothing
With ComboBox2
.DataSource = HubcapBindingSource
.ValueMember = "ID"
.DisplayMember = "ID"
End With
End Select
End Sub
Private Sub ComboBox2_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox2.SelectionChangeCommitted
Select Case ComboBox1.SelectedItem
Case "Tire1"
With ComboBox3
.DataSource = Tire1BindingSource
.ValueMember = "ID"
.DisplayMember = "Weight"
End With
Case "Tire2"
With ComboBox3
.DataSource = Tire2BindingSource
.ValueMember = "ID"
.DisplayMember = "Weight"
End With
Case "Tire3"
With ComboBox3
.DataSource = Tire3BindingSource
.ValueMember = "ID"
.DisplayMember = "Weight"
End With
Case "HubCap"
ComboBox3.DataSource = Nothing
With ComboBox2
.DataSource = HubCapBindingSource
.ValueMember = "ID"
.DisplayMember = "ID"
End With
End Select
Каков наилучший подход для использования комбинированных списков при решении таких проблем, как отображение дробей и единиц ...