2017-12-07 5 views
0

두 개의 필터가있는 테이블이 있습니다. 두 필터는 모두 Dropdown 위젯 형식입니다. 사용자가 드롭 다운의 옵션 목록에서 항목을 선택하면 테이블은 해당 항목이있는 레코드 만 포함하도록 필터링됩니다. 각 드롭 다운 필터는 테이블의 데이터 소스와의 관계입니다.쿼리 후 항목의 고유 목록

현재 각 드롭 다운의 옵션은 해당 드롭 다운의 특정 데이터 소스에있는 전체 항목 목록입니다. 그러나 하나의 드롭 다운 값이 사용자에 의해 변경되면 다른 드롭 다운 옵션 목록을 채우려는 경우

예를 들어, 나는 미국 및 캐나다 시민과 그들의 주 /도를 가지고 있습니다. 첫 번째 드롭 다운은 국가별로 표를 필터링하고 두 번째 표는 주/도별로 표를 필터링합니다. 첫 번째 드롭 다운에서 '캐나다'를 선택한 경우 두 번째 드롭 다운에 대한 항목을 선택하면 캐나다 지역 만 옵션으로 표시되고 미국 주에는 적용되지 않습니다. 당신이 드롭 다운의 onValueChange 이벤트의 데이터 소스를 다시로드 할 수 있습니다 미국의 드롭 다운 메뉴에서 항목을 필터링하려면

  • 나라
  • 미국
  • 사람들

:

답변

0

의 당신이 3 개의 독립적 인 데이터 소스를 가지고 있다고 가정 해 봅시다 Сountries. 국가의 드롭 다운 값에 @datasources.States.query.filters.Country._equals을 바인딩하여 생활을 단순화 할 수도 있습니다.

// States dropdown `enabled` property binding 
@datasources.States.query.filters.Country._equals !== null 
:

// Countries dropdown onValueChange event handler 
// newValue - new selected country 
app.datasources.States.load(); 

// unfortunately App Maker doesn't allow to bind multiple things to 
// one value, so we need explicitly set filter for People datasource 
app.datasources.People.query.filters.Country._equals = newValue; 
app.datasources.People.load(); 

비즈니스 요구에 따라, 당신은 아마 사용자가 처음 상태로 드롭 다운을 사용하지 않도록 설정하여 국가를 선택 강요하는 것이 좋습니다