Programing

프로그래밍 방식으로 드롭 다운 목록 선택 항목 설정

crosscheck 2020. 11. 13. 07:49
반응형

프로그래밍 방식으로 드롭 다운 목록 선택 항목 설정


selecteditem프로그래밍 방식으로 ASP.Net 드롭 다운 목록 컨트롤 특성 을 설정하고 싶습니다 .

따라서 드롭 다운 목록 컨트롤에 값을 전달하여 항목이 전달 된 값과 같은 선택된 항목을 설정하고 싶습니다.


목록이 이미 데이터 바인딩되어 있다고 가정하면 SelectedValue드롭 다운 목록 에서 속성을 간단히 설정할 수 있습니다 .

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

list.SelectedValue = myValue.ToString();

myValue변수 값은 DataValueField컨트롤 데이터 바인딩에 지정된 속성에 있어야합니다 .

업데이트 : myValue값이 드롭 다운 목록 옵션이있는 값으로 존재하지 않는 경우 드롭 다운 목록에서 첫 번째 옵션을 선택하도록 기본 설정됩니다.


ddlData.SelectedIndexint특정 값을 선택하려면 다음 값을 포함합니다 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"));

내가 당신의 질문을 올바르게 이해했다면. 주어진 드롭 다운 목록의 값을 설정하는 솔루션은 다음과 같습니다.

dropdownlist1.Text="Your Value";

드롭 다운 목록의 데이터 소스에 값이있는 경우에만 작동합니다.


표현식을 기반으로 목록 항목을 선택해야하는 경우 :

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

var index = ctx.Items.FirstOrDefault(item => Equals(item.Value, Settings.Default.Format_Encoding));
ctx.SelectedIndex = ctx.Items.IndexOf(index);

또는

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;

내 윈도우 폼의로드시가 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
            }

항목이 일치하는 경우에만 선택하는 안전 점검.

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

            ddlemployee.DataSource = ds.Tables[0];
            ddlemployee.DataTextField = "Employee Name";
            ddlemployee.DataValueField = "RecId";
            ddlemployee.DataBind();
            ddlemployee.Items.Insert(0, "All");

참고 URL : https://stackoverflow.com/questions/3496456/setting-dropdownlist-selecteditem-programmatically

반응형