C#.NETでプログラムによって値でドロップダウンリスト項目を選択する方法は?
ドロップダウンリストに選択する値が含まれていることがわかっている場合は、次を使用します。
ddl.SelectedValue = "2";
値が存在するかどうかわからない場合は、次を使用します(またはnull参照例外が発生します)。
ListItem selectedListItem = ddl.Items.FindByValue("2");
if (selectedListItem != null)
{
selectedListItem.Selected = true;
}
以下を試してください:
myDropDown.SelectedIndex =
myDropDown.Items.IndexOf(myDropDown.Items.FindByValue("myValue"))
ddl.SetSelectedValue("2");
便利な拡張機能付き:
public static class WebExtensions
{
/// <summary>
/// Selects the item in the list control that contains the specified value, if it exists.
/// </summary>
/// <param name="dropDownList"></param>
/// <param name="selectedValue">The value of the item in the list control to select</param>
/// <returns>Returns true if the value exists in the list control, false otherwise</returns>
public static Boolean SetSelectedValue(this DropDownList dropDownList, String selectedValue)
{
ListItem selectedListItem = dropDownList.Items.FindByValue(selectedValue);
if (selectedListItem != null)
{
selectedListItem.Selected = true;
return true;
}
else
return false;
}
}
注:コードはすべてパブリックドメインにリリースされます。帰属は必要ありません。
これは、文字列valに基づいてドロップダウンリストからオプションを選択する簡単な方法です
private void SetDDLs(DropDownList d,string val)
{
ListItem li;
for (int i = 0; i < d.Items.Count; i++)
{
li = d.Items[i];
if (li.Value == val)
{
d.SelectedIndex = i;
break;
}
}
}
Ian Boyd(上記)には素晴らしい答えがありました-これをIan Boydのクラス「WebExtensions」に追加して、テキストに基づいてドロップダウンリストの項目を選択します。
/// <summary>
/// Selects the item in the list control that contains the specified text, if it exists.
/// </summary>
/// <param name="dropDownList"></param>
/// <param name="selectedText">The text of the item in the list control to select</param>
/// <returns>Returns true if the value exists in the list control, false otherwise</returns>
public static Boolean SetSelectedText(this DropDownList dropDownList, String selectedText)
{
ListItem selectedListItem = dropDownList.Items.FindByText(selectedText);
if (selectedListItem != null)
{
selectedListItem.Selected = true;
return true;
}
else
return false;
}
それを呼び出すには:
WebExtensions.SetSelectedText(MyDropDownList, "MyValue");
combobox1.SelectedValue = x;
他の何かを聞きたいと思うかもしれませんが、これはあなたが求めたものです。
私は好む
if(ddl.Items.FindByValue(string) != null)
{
ddl.Items.FindByValue(string).Selected = true;
}
DdlをドロップダウンリストIDに、stringを文字列変数の名前または値に置き換えます。
検索でここに来る人のために(このスレッドは3歳以上だから):
string entry // replace with search value
if (comboBox.Items.Contains(entry))
comboBox.SelectedIndex = comboBox.Items.IndexOf(entry);
else
comboBox.SelectedIndex = 0;
ddlPageSize.Items.FindByValue( "25")。Selected = true;