ASP.Netドロップダウンリストコントロールのselecteditem
属性をプログラムで設定したい。
そのため、ドロップダウンリストコントロールに値を渡して、選択された項目を設定します。項目は渡された値と等しくなります。
リストが既にデータバインドされていると仮定すると、ドロップダウンリストでSelectedValue
プロパティを設定するだけです。
list.DataSource = GetListItems(); // <-- Get your data from somewhere.
list.DataValueField = "ValueProperty";
list.DataTextField = "TextProperty";
list.DataBind();
list.SelectedValue = myValue.ToString();
myValue
変数の値は、コントロールのデータバインディングのDataValueField
内で指定されたプロパティに存在する必要があります。
UPDATE:myValue
の値がドロップダウンリストオプションの値として存在しない場合、デフォルトではドロップダウンリストの最初のオプションが選択されます。
ddlData.SelectedIndex
にはint
値が含まれますDropDown
に特定の値を選択するには:
ddlData.SelectedIndex=ddlData.Items.IndexOf(ddlData.Items.FindByText("value"));
return
のタイプddlData.Items.IndexOf(ddlData.Items.FindByText("value"));
はint
です。
私が探していたコードは次のとおりです。
DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByText("PassedValue"));
または
DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByValue("PassedValue"));
式に基づいてリストアイテムを選択する必要がある場合:
foreach (ListItem listItem in list.Items)
{
listItem.Selected = listItem.Value.Contains("some value");
}
あなたの質問を正しく理解できたら。特定のドロップダウンリストの値を設定するためのソリューションは次のとおりです。
dropdownlist1.Text="Your Value";
これは、ドロップダウンリストのデータソースに値が存在する場合にのみ機能します。
var index = ctx.Items.FirstOrDefault(item => Equals(item.Value, Settings.Default.Format_Encoding));
ctx.SelectedIndex = ctx.Items.IndexOf(index);
OR
foreach (var listItem in ctx.Items)
listItem.Selected = Equals(listItem.Value as Encoding, Settings.Default.Format_Encoding);
動作するはずです。特に、FindByText/Valueが存在しない拡張RADコントロールを使用している場合は!
ddList.Items.FindByText("oldValue").Selected = false;
ddList.Items.FindByText("newValue").Selected = true;
アイテムが一致した場合にのみ選択する安全チェック。
//try to find item in list.
ListItem oItem = DDL.Items.FindByValue("PassedValue"));
//if exists, select it.
if (oItem != null) oItem.Selected = true;
My Windows Formのロード時に、comboBox
にはClassName
も含まれているため、DataTable
にはDisplayMember
のValueMember
列が表示されます。
private void Form1_Load(object sender, EventArgs e)
{
this.comboBoxSubjectCName.DataSource = this.Student.TableClass;
this.comboBoxSubjectCName.DisplayMember = TableColumn.ClassName;//Column name that will be the DisplayMember
this.comboBoxSubjectCName.ValueMember = TableColumn.ClassID;//Column name that will be the ValueMember
}