DropDownList の項目名、値から特定の項目を選択する (ListItemからインデックス番号を求める) - ASP.NET

DropDownListからアイテムを取得し、そのインデックス番号を求めたい場合があります。 たとえば、
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack == false)
        {
            DropDownList1.Items.Add("1");
            DropDownList1.Items.Add("2");
            DropDownList1.Items.Add("3");
            DropDownList1.Items.Add("4");
            DropDownList1.Items.Add("5");
            DropDownList1.Items.Add("6");
            DropDownList1.Items.Add("7");
            DropDownList1.Items.Add("8");
            DropDownList1.Items.Add("9");
        }
    }
というコードで、DropDownListのアイテムを初期化する場合、初期化時に"5"の要素を選択させたいことがあります。
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack == false)
        {
            DropDownList1.Items.Add("1");
            DropDownList1.Items.Add("2");
            DropDownList1.Items.Add("3");
            DropDownList1.Items.Add("4");
            DropDownList1.Items.Add("5");
            DropDownList1.Items.Add("6");
            DropDownList1.Items.Add("7");
            DropDownList1.Items.Add("8");
            DropDownList1.Items.Add("9");

            DropDownList1.SelectedIndex = 4;
        }
    }
決め打ちで、上記のとおり記述してもよいですが、"5"の文字を持つアイテムを取得してインデックス番号を求めたい場合があります。この場合下記のとおりに記述します。
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack == false)
        {
            DropDownList1.Items.Add("1");
            DropDownList1.Items.Add("2");
            DropDownList1.Items.Add("3");
            DropDownList1.Items.Add("4");
            DropDownList1.Items.Add("5");
            DropDownList1.Items.Add("6");
            DropDownList1.Items.Add("7");
            DropDownList1.Items.Add("8");
            DropDownList1.Items.Add("9");

            ListItem li = DropDownList1.Items.FindByText("5");
            int i = DropDownList1.Items.IndexOf(li);
            DropDownList1.SelectedIndex = i;
        }
    }
IndexOf()メソッドを使うことでListItemからインデックス番号を求めることができます。

このページのキーワード
  • DropDownList の項目名、値から特定の項目を選択する (ListItemからインデックス番号を取得する)
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-03-16
作成日: 2009-05-15
iPentec all rights reserverd.