как использовать выбор типа в раскрывающемся списке в C # без объявления в качестве элемента списка - PullRequest
0 голосов
/ 20 апреля 2010

Полагаю, это просто, но я не смог понять.

У меня есть выпадающий список со значениями

America
Asia
Europe

Мне нужно отобразить ddl как Select Type, и когда я щелкаю раскрывающийся список, чтобы увидеть значения в нем, он должен отобразить три значения, но я не должен использовать Select Type в качестве элемента списка, и он не должен отображаться в списке. Он должен использоваться только как текст по умолчанию в ddl.

Спасибо

Ответы [ 4 ]

2 голосов
/ 20 апреля 2010

Windows Forms?

Если вы заполняете свой комбинированный список следующим образом:

        this.comboBox1.Items.Add("Select...");
        this.comboBox1.Items.Add("America");
        this.comboBox1.Items.Add("Asia");
        this.comboBox1.Items.Add("Yurrup");

Затем прикрепите событие DropDown, чтобы удалить первый параметр в первом раскрывающемся списке.

    private void comboBox1_DropDown(object sender, EventArgs e)
    {
        if (comboBox1.Items[0].ToString() == "Select...")
        {
            comboBox1.Items.RemoveAt(0);
        }
    }
1 голос
/ 20 апреля 2010

Я бы добавил ListItem в список с его текстом, установленным на «Select Type», а его значением на пустую строку. В коде позади, когда вы обрабатываете список, вы программно обрабатываете возможность выбора значения пустой строкой.

Так дано

ddl.Items.Add(new ListItem("Select Type", string.Empty));
ddl.Items.Add(new ListItem("America", "America"));
ddl.Items.Add(new ListItem("Asia", "Asia"));
ddl.Items.Add(new ListItem("Europe", "Europe"));

Вы бы справились с этим как

if (ddl.SelectedValue != string.Empty)
{
    // do what you need to do
}
else
{
    // OK to ignore? re-prompt user? etc.
}
1 голос
/ 20 апреля 2010
<asp:DropDownList runat="server">
    <ListItem Text="Select Type" Value="0" />
    <ListItem Text="America" Value="1" />
    <ListItem Text="Asia" Value="2" />
    <ListItem Text="Europe" Value="3" />
</asp:DropDownList>

Затем я бы добавил событие "onclick" к <asp:DropDownList> примерно так:

<asp:DropDownList runat="server" onclick="javascript:RemoveDefault(this);">

и имеют функцию javascript RemoveDefault(), которая выполняет следующие действия:

function RemoveDefault(select) { if (select.options[0].value == "0") select.remove(0); }
0 голосов
/ 20 апреля 2010

Вы должны создать новый элемент, убедиться, что он находится на первой позиции в списке, а затем программно игнорировать его, когда пользователь выбирает его.

Или, как Cheeso предлагает удалить первый «поддельный» предмет в первом выпадающем меню.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...