C # Как добавить значение в тексте comboBox? - PullRequest
4 голосов
/ 24 декабря 2010

как добавить целочисленное значение для существующего поля со списком? Пример: уже есть 5 текстовых значений в поле со списком "Доступ", "создать" .... Но как я могу добавить целое значение к этому тексту? Пример "Access" = 1, "Create" = 2?

Посоветуйте пожалуйста коды! Спасибо!

Коды:

        comboBoxFilter.Items.Add("Access");
        comboBoxFilter.Items.Add("Create");
        comboBoxFilter.Items.Add("Delete");
        comboBoxFilter.Items.Add("Modify");
        comboBoxFilter.Items.Add("All");

Ответы [ 3 ]

4 голосов
/ 24 декабря 2010

Я предлагаю вам создать класс:

public class Permission
{
    public Int32 Index { get; set; }
    public String Value { get; set; }
}

И заполнить ваш ComboBox следующим образом:

List<Permission> permissions = new List<Permission>() { 
    new Permission(){ Index = 1, Value ="Access" },
    new Permission(){ Index = 2, Value ="Create" },
    new Permission(){ Index = 3, Value ="Delete" },
    new Permission(){ Index = 4, Value ="Modify" },
    new Permission(){ Index = 5, Value ="All" },
};

comboBoxFilter.DisplayMember = "Value";
comboBoxFilter.DataSource = permissions;

С помощью приведенного выше кода вы можете получить доступ к целочисленному значению, используя следующиекод:

(comboBoxFilter.SelectedItem as Permission).Index
1 голос
/ 24 декабря 2010

Вы можете использовать подход ListItem, где вам придется использовать

comboBoxFilter.Items.Add(new ListItem("Access", "1"));
comboBoxFilter.Items.Add(new ListItem("Create", "2"));
comboBoxFilter.Items.Add(new ListItem("Delete", "3"));
comboBoxFilter.Items.Add(new ListItem("Modify", "4"));
comboBoxFilter.Items.Add(new ListItem("All", "5"));

Имейте в виду, что оба раздела Value и Text объекта ListItem являются строками.

P.S. Вы не указали, была ли это winforms или webforms, поэтому я предположил, что web. Если это Winforms, это не относится

0 голосов
/ 24 декабря 2010

Если вы знаете числа перед рукой, вы можете сделать что-то вроде этого:

comboBoxFilter.Items.Add("Access = 1");

Если вы этого не сделаете, вы можете получить что-то вроде этого:

comboBoxFilter.Items.Add("Access = " + numbers.ToString());

Вышедолжен дать вам что-то вроде этого в поле со списком: Access = <someNumber>

Если вы строго хотите «Доступ» = сделать что-то вроде:

comboBoxFilter.Items.Add("\"Access\" = 1"); 

или

comboBoxFilter.Items.Add("\"Access\" = " + numbers.ToString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...