Asp.net-드롭 다운 목록 맨 위에 빈 항목 추가
드롭 다운에 빈 항목이 먼저 표시되지 않는 이유는 무엇입니까? 여기 내가 가진 것입니다
drpList.Items.Add(New ListItem("", ""))
With drpList
.DataSource = myController.GetList(userid)
.DataTextField = "Name"
.DataValueField = "ID"
.DataBind()
End With
편집 ~ 나는 Generig List에 바인딩하고 있는데, 이것이 범인이 될 수 있습니까?
데이터 바인드 후 :
drpList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
drpList.SelectedIndex = 0;
다음 AppendDataBoundItems=true
을 쉽게 추가 하는 데 사용할 수 있습니다.
<asp:DropDownList ID="drpList" AppendDataBoundItems="true" runat="server"><br/>
<asp:ListItem Text="" Value="" /><br/>
</asp:DropDownList>
데이터 바인딩은 빈 목록 항목을 추가 한 후에 발생하며 이미 존재하는 항목을 대체하므로 컨트롤러에서 목록의 시작 부분에 빈 항목을 추가하거나 데이터 바인딩 후 추가해야합니다.
편집하다:
ASP.Net 2.0에서 이것을 빠르게 검색 한 후에는 데이터 바인딩 된 항목을 추가하도록 설정할 수있는 "AppendDataBoundItems"true 속성이 있습니다.
자세한 내용은
http://imar.spaanjaars.com/QuickDocId.aspx?quickdoc=281 또는
더 나은 방법은 빈 항목을 먼저 삽입 한 다음 수행 한 것처럼 데이터를 바인딩하는 것입니다. 그러나 AppendDataBoundItems
목록 컨트롤 의 속성 을 설정해야합니다 .
다음 방법을 사용하여 모든 데이터 소스를 목록 컨트롤에 바인딩합니다.
public static void BindList(ListControl list, IEnumerable datasource, string valueName, string textName)
{
list.Items.Clear();
list.Items.Add("", "");
list.AppendDataBoundItems = true;
list.DataValueField = valueName;
list.DataTextField = textName;
list.DataSource = datasource;
list.DataBind();
}
"Whisk"Said처럼 트릭은 "AppendDataBoundItems"속성에 있습니다.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList1.AppendDataBoundItems = true;
DropDownList1.Items.Insert(0, new ListItem(String.Empty, String.Empty));
DropDownList1.SelectedIndex = 0;
}
}
감사합니다 "Whisk"
데이터 바인딩을 수행 한 후 다음을 추가하십시오.
Dim liFirst As New ListItem("", "")
drpList.Items.Insert(0, liFirst)
빈 항목을 추가 한 다음 데이터 바인딩을 사용하여 목록을 비우는 것처럼 보입니다. 데이터 바인딩 후 빈 항목을 삽입하십시오
단순한
마침내
ddlProducer.Items.Insert(0, "");
ddlCategory.DataSource = ds;
ddlCategory.DataTextField = "CatName";
ddlCategory.DataValueField = "CatID";
제 1 장 :
ddlCategory.Items.Add(new ListItem("--please select--", "-1"));
ddlCategory.AppendDataBoundItems = true;
ddlCategory.SelectedIndex = -1;
ddlCategory.DataBind();
제 2 장 :
ddlCategory.Items.Insert(0, new ListItem("-- please select --", "0"));
(확인 테스트)
내용이있는 선택과 빈 선택을 결합 할 수도 있습니다.
select '' value, '' name
union
select value, name from mytable
참고 URL : https://stackoverflow.com/questions/267064/asp-net-add-blank-item-at-top-of-dropdownlist
'Programming' 카테고리의 다른 글
"소수"가 유효한 속성 매개 변수 유형이 아닌 이유는 무엇입니까? (0) | 2020.07.06 |
---|---|
처리기 대 AsyncTask (0) | 2020.07.06 |
VBA에서 전역 변수를 어떻게 선언합니까? (0) | 2020.07.05 |
쉼표와 반올림을 갖도록 문자열 번호를 어떻게 포맷 할 수 있습니까? (0) | 2020.07.05 |
사전에서 하나의 키에 여러 값을 추가합니다 (0) | 2020.07.05 |