webForumDet fria alternativet

Droplist + Bind + Item

3 svar · 302 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

Ursäkta min okunnighet men hur gör jag detta?

Jag har en bindat en dropdownlist till en metod som hämtar butiksnamn, funkar bra!
Men nu vill jag lägga till en rubrik överst i listan men med min kod försvinner rubriken, så hur får jag in rubriken med bindningen?

DepartmentsBLL dep = new DepartmentsBLL();
[B]DepartmentsSelect.Items.Add(new ListItem("- Välj butik -", ""));[/B]
DepartmentsSelect.DataSource = dep.GetAllDepartments(true);
DepartmentsSelect.DataValueField = dep.GetAllDepartments(true).DepartmentIdColumn.ToString();
DepartmentsSelect.DataTextField = dep.GetAllDepartments(true).DepartmentColumn.ToString();
DepartmentsSelect.DataBind();
doggelitoMedlem sedan juni 20003 076 inlägg
#2

Fixat! :)
Jag vet inte, går det att göra "snyggare", alltså utan att t.ex. behöva loopa?

DepartmentsBLL dep = new DepartmentsBLL();
ListItemCollection myList = new ListItemCollection();
myList.Add(new ListItem("- Välj butik -", ""));
foreach (DataRow dr in dep.GetAllDepartments(true))
{
     myList.Add(new ListItem(dr["Department"].ToString(), dr["DepartmentId"].ToString()));
}
DepartmentsSelect.DataSource = myList;
DepartmentsSelect.DataBind();
JosefMedlem sedan mars 20023 561 inlägg
#3

När du själv loopar ut alla posterna kan du ta bort raden där du specifierar DataSource, då den inte gör någon nytta längre.

DinoMedlem sedan sep. 20011 914 inlägg
#4

1. Med validering så att inte "- Välj butik -" alternativet inte kan väljas.

//.aspx
<asp:DropDownList ID="ddlStore" AppendDataBoundItems="true" runat="server">
   <asp:ListItem Text="- Välj butik -" Value="" />
</asp:DropDownList>

<asp:RequiredFieldValidator 
   ID="RequiredFieldValidator1" 
   runat="server" ErrorMessage="*" 
   ControlToValidate="ddl" />
//.cs
DepartmentsBLL dep = new DepartmentsBLL();
ddlStore.DataSource = dep.GetAllDepartments(true);
ddlStore.DataValueField = dep.GetAllDepartments(true).DepartmentIdColumn.ToString();
ddlStore.DataTextField = dep.GetAllDepartments(true).DepartmentColumn.ToString();
ddlStore.DataBind();

2. Utan validering

.cs
DepartmentsBLL dep = new DepartmentsBLL();
ddlStore.DataSource = dep.GetAllDepartments(true);
ddlStore.DataValueField = dep.GetAllDepartments(true).DepartmentIdColumn.ToString();
ddlStore.DataTextField = dep.GetAllDepartments(true).DepartmentColumn.ToString();
ddlStore.DataBind();
ddlStore.Items.Insert(0, new ListItem("- Välj butik -"));
132 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)