2013-05-08 3 views
-1

asp : formview가 있습니다. 편집 템플릿에는 6 개의 드롭 다운이 있으며 이는 국가, 주 및시입니다.FormView의 드롭 다운 목록에서 데이터 바인딩

요구 사항 :

  1. 페이지로드 COUNTRY1 및 COUNTRY2에이 채워.
  2. 국가 1과 국가 2의 선택된 색인 chnage에서 state1과 state2가 각각 채워집니다.
  3. state1과 state2의 변경에 따라 city1과 city2가 채워집니다.

  4. 또한 편집 모드에서 열 때 양식 바인딩에 대한 도움이 필요합니다. 데이터베이스에서 오는 값을 기반으로 세 개의 드롭 다운을 바인딩하는 방법

이 문제를 해결하는 방법을 알려주십시오.

+0

아마도 BindingList가 도움이 될 수 있습니다. – MethodMan

+0

이것은 DropDownList http : // stackoverflow에서 작동하도록 코드를 변경하기 만하면됩니다.com/questions/6164264/bindinglist-with-my-class-populating-a-combobox-a-property-of-it – MethodMan

+0

@DJKRAZE : 모든 asp.net formview 관련 참조가 더 빠르고 유용 할 것입니다. –

답변

0

[업데이트] 다른 사람들이 드롭 다운에 값의 간단한 바인딩을 시도하고 그것이 작동하는지 확인 했으므로 제안했습니다. 나는 내가 (아래에 설명했듯이) 작은 코드 단편은 그것을 포함하지 않지만 Telerik 컨트롤로 대부분 설명했듯이, 항상 작동하지 않는다는 것을 안다.


나는 코드를 작성하는 데 너무 피곤하지만 도움이됩니다. Databound의 각 드롭 다운 메뉴에서도 이와 같은 작업을 수행하여 선택할 항목을 파악할 수 있습니다.

DropDownList ddl = (DropDownList)sender; 
FormView frmV = (FormView)ddl.NamingContainer; 
string field_value = (frmV.DataItem as DataRowView)[ ddl.DataTextField ].ToString(); 
ListItem lm = ddl.Items.FindByValue (field_value); 
if (lm != null) lm.Selected = true; 

지금까지 목록 아래로 드롭 당신의 SelectedIndexChanged 이벤트를 폼보기에서 계단식 드롭 다운을하고 당신이 영향을 매개 변수를 설정하고 바인드 다시 데이터를하고있는 다른 드롭 다운 목록을 찾아야합니다 . 위와 비슷한 방법을 사용하여 selectedIndexChanged 이벤트에서 드롭 다운 목록의 이름 지정 컨테이너를 통해 formview를 얻은 다음 formview의 findcontrol을 사용하여 수정해야하는 다른 드롭 다운을 가져올 수 있습니다.

도움이 되었기를 바랍니다. 내가 더 깨어 있었다면 나는 당신에게 더 좋은 모범을 보였습니다.

또 하나의 잡았다.

1) 더 나은 성능을 얻으려면 드롭 다운 목록에 webservice를 사용하지만 그 중 하나를 파악하거나 다른 스레드에서 요청하십시오.

2) 때로는 같은 sqlDataSource에 바인딩 된 세 개의 다른 컨트롤이있는 경우에주의를 기울이지 않는 경우가 종종 있습니다. 당신의 나라처럼 드롭 다운이있을 수도 있습니다. 이것은 당신이 자바 스크립트에서 클라이언트 측에서이 많이 할 수있는 더 나은 성능을 위해

http://trappedinhoth.blogspot.com/2008/10/for-reference-getting-datatable.html

3) 링크 -에 가끔 데이터 집합에서 대신처럼에 직접 바인딩의 볼을 잡아. 당신은 다른 스레드에서 그것에 대해 물어볼 수 있습니다 :)

이 유형의 것은 고통이지만 한 번 당신이 몇 번 그것을 조금 덜 지루한 얻을. 행운을 빕니다.

관련 문제