web-dev-qa-db-ja.com

プログラムによるドロップダウンリストの選択項目の設定

ASP.Netドロップダウンリストコントロールのselecteditem属性をプログラムで設定したい。

そのため、ドロップダウンリストコントロールに値を渡して、選択された項目を設定します。項目は渡された値と等しくなります。

66
Eyla

リストが既にデータバインドされていると仮定すると、ドロップダウンリストでSelectedValueプロパティを設定するだけです。

list.DataSource = GetListItems(); // <-- Get your data from somewhere.
list.DataValueField = "ValueProperty";
list.DataTextField = "TextProperty";
list.DataBind();

list.SelectedValue = myValue.ToString();

myValue変数の値は、コントロールのデータバインディングのDataValueField内で指定されたプロパティに存在する必要があります。

UPDATEmyValueの値がドロップダウンリストオプションの値として存在しない場合、デフォルトではドロップダウンリストの最初のオプションが選択されます。

92
Wallace Breza

ddlData.SelectedIndexにはint値が含まれますDropDownに特定の値を選択するには:

ddlData.SelectedIndex=ddlData.Items.IndexOf(ddlData.Items.FindByText("value"));

returnのタイプddlData.Items.IndexOf(ddlData.Items.FindByText("value"));intです。

60
PrateekSaluja

私が探していたコードは次のとおりです。

DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByText("PassedValue"));

または

DDL.SelectedIndex = DDL.Items.IndexOf(DDL.Items.FindByValue("PassedValue"));
28
Eyla

式に基づいてリストアイテムを選択する必要がある場合:

foreach (ListItem listItem in list.Items)
{
    listItem.Selected = listItem.Value.Contains("some value");
}
4
Craig Curtis

あなたの質問を正しく理解できたら。特定のドロップダウンリストの値を設定するためのソリューションは次のとおりです。

dropdownlist1.Text="Your Value";

これは、ドロップダウンリストのデータソースに値が存在する場合にのみ機能します。

4
maxspan
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コントロールを使用している場合は!

1
Latency
ddList.Items.FindByText("oldValue").Selected = false;
ddList.Items.FindByText("newValue").Selected = true;
1
A. Obeid

アイテムが一致した場合にのみ選択する安全チェック。

//try to find item in list.  
ListItem oItem = DDL.Items.FindByValue("PassedValue"));
//if exists, select it.
if (oItem != null) oItem.Selected = true;
0
mike

My Windows Formのロード時に、comboBoxにはClassNameも含まれているため、DataTableにはDisplayMemberValueMember列が表示されます。

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
            }
0
Parag555