2013-06-26 4 views
-1

양식에 여러 개의 드롭 다운 목록이 있습니다. 모두 데이터베이스 테이블의 Taskid으로 채 웁니다.드롭 다운 목록에서 선택 가능한 값 제한

이제 드롭 다운 목록에서 특정 값을 선택한 경우이 값을 다른 드롭 다운 목록에 표시하면 안됩니다.

+3

하나의 질문에 보관하십시오 : [드롭 다운 목록에서 선택한 값 검증 (http://stackoverflow.com/questions/17314331/selected-value-validation-in-dropdown -명부). 그 중 하나는 당신이 시도한 것을 보여줄 때까지 재개되지 않을 것입니다. 편집 - 아, upvotes. 왜? – CodeCaster

+0

모든 드롭 다운 목록에 대해 "항목"이라는 모음에서 작업 ID에 대한 선택된 항목을 검색하고 삭제하십시오. –

답변

0

사용자가 제출할 때 드롭 다운 목록에서 일치하는 항목을 확인할 수 있도록 일부 유효성 검사를 수행 할 수 있습니다.

아니면 .selectedIndexChanged 이벤트 사용을 조사해야합니다

이 샘플 : http://msdn.microsoft.com/en-us/library/1wd7hsyy(v=vs.100).aspx

이 이벤트에서 어떤 논리를 배치하면, 당신은/항목을 제거 다른리스트에서 항목을 선택 해제 할 수있는 항목이 선택 각 목록에 선택을 변경할 때마다 선택 항목이 변경되고 다시 게시 될 때마다 다시 바인딩해야하므로 항목을 제거하면이 작업이 복잡해질 수 있습니다.

옵션 1 : 확인 질문에 세부 사항을 기반으로 확인하십시오.

0

의사 코드 :

protected void DropDownList1_SelectedIndexChanged(Object sender, EventArgs e) 
{ 
    DropDownList ddl = (DropDownList) sender; 
    IEnumerable<ListItem> selectedTasks = ddl.Items 
     .Cast<ListItem>().Where(li => li.Selected); 

    foreach(ListItem item in selectedTasks) 
    { 
     DropDownList2.Items.Remove(item); 
     DropDownList3.Items.Remove(item); 
     DropDownList4.Items.Remove(item); 
     DropDownList5.Items.Remove(item); 
     // ... 
    } 
} 
+0

다음 질문 : _ "사용자가 목록 1에서 A와 B를 처음 선택하면 다른 목록에 A 또는 B가 표시되지 않습니다."_. – CodeCaster

+0

@CodeCaster : 질문은 무엇입니까? 드롭 다운 목록을 "재설정"하려면 버튼을 제공하고 ("다시로드"또는 "취소") 적절한 논리를 구현해야합니다. –

+0

그게 내 뜻이다. 고마워. – CodeCaster

관련 문제