Asp.net - 드롭다운 목록 맨 위에 빈 항목 추가
드롭다운에 빈 항목이 먼저 표시되지 않는 이유는 무엇입니까?이것이 제가 가진 것입니다.
drpList.Items.Add(New ListItem("", ""))
With drpList
.DataSource = myController.GetList(userid)
.DataTextField = "Name"
.DataValueField = "ID"
.DataBind()
End With
편집 ~ 제가 제네릭 리스트에 속박되어 있는데, 이게 범인일 수도 있나요?
데이터 바인딩 후:
drpList.Items.Insert(0, new ListItem(String.Empty, String.Empty));
drpList.SelectedIndex = 0;
사용할 수 있습니다.AppendDataBoundItems=true
쉽게 추가할 수 있는 항목:
<asp:DropDownList ID="drpList" AppendDataBoundItems="true" runat="server">
<asp:ListItem Text="" Value="" />
</asp:DropDownList>
데이터 바인딩은 빈 목록 항목을 추가한 후에 수행되며, 이미 있는 항목을 대체합니다. 컨트롤러에서 목록의 시작 부분에 빈 항목을 추가하거나 데이터 바인딩 후에 추가해야 합니다.
편집:
ASP 기준으로 이를 빠르게 검색한 후.Net 2.0에는 데이터 바인딩 항목을 추가하도록 설정할 수 있는 "AdpendDataBoundItems" 참 속성이 있습니다.
자세한 내용은 을 참조하십시오.
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와 마찬가지로 "AdpendDataBoundItems" 속성이 트릭입니다.
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;
}
}
"휘스크" 감사합니다.
데이터 바인딩을 수행한 다음 다음을 추가합니다.
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
'programing' 카테고리의 다른 글
모든 시트 내용을 지우는 가장 빠른 방법 VBA (0) | 2023.04.28 |
---|---|
authenticationScheme이 지정되지 않았으며 기본 인증 및 사용자 지정 권한 부여로 DefaultChallengeScheme을 찾을 수 없습니다. (0) | 2023.04.28 |
기능 호스트가 실행되고 있지 않습니다. (0) | 2023.04.28 |
여백의 특성 순서 (0) | 2023.04.28 |
Git: 기존 폴더에 "git clone"하는 가장 좋은 방법은 무엇입니까? (0) | 2023.04.28 |