programing

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

yellowcard 2023. 7. 9. 10:59
반응형

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

설정합니다.selecteditemASP.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.SelectedIndex다음을 포함합니다.intvalue 특정 값을 선택합니다.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");
}

한 줄만 사용:

divisions.Items.FindByText("Some Text").Selected = true;
divisions.Items.FindByValue("some value").Selected = true;

여기서 divisions는 드롭다운 목록 컨트롤입니다.

누군가에게 도움이 되길 바랍니다.

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;

내 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
            }

항목이 일치하는지 여부만 선택하는 안전 검사입니다.

//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

반응형