У меня есть CheckedListBox
с именем Itemlist. И его DataSource
- таблица данных. Я установил DisplayMember
как «Имя» и ValueMember
как «NameInt». Есть ли надежный способ, которым я могу пройти через этот CheckedListBox
и получить ValueMember
из отмеченных предметов?Как получить ValueMembers проверенных элементов CheckedListBox?
ответ
Предполагая общественную собственность, проведение вашего DataTable
:
public DataTable Table { get; set; }
принимая к сведению CheckedListBox
называется Itemlist
(в случае редактировании-х происходит) - и при условии NameInt
имеет type int
, мы можем перебрать проверяемые элементы, возьмите индекс , а затем получить соответствующую ValueMember
непосредственно из источника:
List<int> checkedValueMembers = new List();
foreach (int index in Itemlist.CheckedIndices)
{
checkedValueMembers.Add(Table.Rows[index].Field<int>("NameInt"));
}
Примечания: Я добавление значения в список в качестве примера, б ut, который должен дать вам общую идею.
for (int i = 0; i < dataSet.tblResources.Rows.Count; i++)
{
clbResources.Items.Add(new Thing()
{
Key = dataSet.tblResources.Rows[i]["Key"].ToString(),
Value = dataSet.tblResources.Rows[i]["Description"].ToString()
}, isChecked);
}
Это из одного из моих проектов. Соответственно измените.
это полностью из того, что я спросил –
Пожалуйста, добавьте код, который вы пробовали, что помогает лучше понять. –
показать нам код, что вы пробовали ?? –