부서 이름과 약어를 표시하는 데 사용하는 RadComboBox가 있습니다. 나는 각 항목을 만들기 위해 LinqDataSource와 아이템 템플릿을 사용하고로 표시 :RadComboBox를 사용하는 조건부 항목 템플릿
DeptAbbr - 여기
내가이 일을 사용하고있는 코드이고 잘 작동 (DEPTNAME) :<telerik:RadComboBox ID="rcbDepartments" runat="server" AppendDataBoundItems="True"
OnInit="rcbDepartments_Init" DataTextField="DepartmentAbbr" AutoPostBack="True"
DataSourceID="ldsDepartments" DataValueField="DepartmentID" HighlightTemplatedItems="true"
NoWrap="true" Width="250px">
<ItemTemplate>
<div>
<b>
<%# Eval("DepartmentAbbr")%></b><%# Eval("DepartmentName", " - ({0})") %>
</div>
</ItemTemplate>
</telerik:RadComboBox>
내 질문은 이것입니다. "All Departments"에 대한 목록에 초기 항목을 추가하고 기본 항목입니다. 이 작업을 쉽게 수행 할 수 있지만 문제는 데이터베이스에 "All Departments"항목을 저장하지 않기 때문에 콤보 상자를 당길 때 템플리트가 항목 목록의 시작 부분에 빈 공간을 표시한다는 것입니다 . 목록에있는 첫 번째 항목을 제외하고 모두 템플릿을 만들 수있는 방법이 있는지 알아 내려고합니다. 희망은 그 말이 맞습니다. 어떤 도움이라도 대단히 감사합니다.
참고 :
<b><%# (Eval("DepartmentAbbr") != null) ? Eval("DepartmentAbbr") : "All Departments" %></b><%# Eval("DepartmentName", " - ({0})") %>
을하지만 그것은 단지 내가 수동으로 고집하고 초기 항목 바인딩과하지 않은 항목에 대한 평가 : 나는 또한 시도는이 같은 평가에서 조건부을한다. 나는 위의 문을 변경하는 경우 즉, 일하기 :
<b><%# (Eval("DepartmentAbbr") == null) ? Eval("DepartmentAbbr") : "All Departments" %></b><%# Eval("DepartmentName", " - ({0})") %>
그럼 난 그냥 하나 개의 빈 상단의 항목 "모든 부서"을 읽어 나머지 목록을 얻을.
이 문제를 해결하려면 LINQ 서버 측에서 약간의 펑키 한 선택 작업을 수행해야하지만, 모든 템플릿 작업과 HTML 서식을 없애야합니다. 정말 멋지게 보이기를 원합니다 :) hehe .