매쉬업 작성기 > 데이터 서비스 및 바인딩 > 데이터 서비스 이벤트
데이터 서비스 이벤트
각 데이터 서비스에는 다음과 같이 자체 이벤트가 있습니다.
ServiceInvokeCompleted - 서비스 호출이 완료된 후 트리거됩니다. 예를 들어 서비스를 호출하여 서버의 데이터를 업데이트할 수 있습니다. 호출된 서비스의 ServiceInvokeCompleted 이벤트는 데이터가 업데이트될 때 트리거됩니다. 이벤트를 다른 서비스에 바인딩하고 업데이트된 데이터를 다시 다른 위젯으로 읽어들일 수 있습니다.
AllDataChanged - 데이터 서비스가 데이터 집합을 반환하고 데이터 집합이 업데이트될 때 트리거됩니다.
SelectedRowsChanged - 다른 데이터 행이 선택될 때 트리거됩니다. 예를 들어, 그리드에 주문 목록이 있을 수 있습니다. 사용자가 주문을 클릭하면 주문 세부 정보를 보여주는 위젯에 대한 데이터를 업데이트하는 서비스에 이벤트를 바인딩할 수 있습니다. 매쉬업 페이지의 두 위젯이 동일한 데이터에 바인딩되어 있는 경우 선택된 데이터가 두 위젯 모두에 표시됩니다.
데이터 서비스 및 바인딩에 대한 개념은 ThingWorx 매쉬업을 생성할 때 매우 중요합니다. 시각화 위젯은 데이터 집합을 소유하지 않지만 데이터 서비스는 데이터 집합을 소유합니다. 다른 서비스의 업데이트 또는 작업을 바인딩하려고 할 때 일반적으로 데이터 서비스 이벤트를 통해 이러한 작업을 수행합니다. 페이지에서 두 그리드의 위 예를 사용합니다. 한 그리드에 주문 목록이 표시되고, 다른 그리드에 특정 주문에 대한 세부 정보 목록이 표시됩니다. 첫 번째 그리드에서 주문을 선택할 때(행 선택) 실제로는 데이터 서비스에서 행을 선택하는 것이며 그리드 자체가 아닌 데이터 서비스 SelectedRowsChanged 이벤트에서 주문 세부 정보를 업데이트하는 호출이 발생합니다. 버튼과 같은 다른 위젯에 해당 위젯 이벤트가 있을 수 있습니다. 버튼의 경우 Clicked 이벤트이며, 이는 하나의 데이터 서비스에만 해당되지는 않습니다.
이벤트에서 서버의 데이터 서비스를 호출할 수 있습니다. 요구사항에 따라 여러 이벤트에서 단일 데이터 서비스를 트리거할 수 있습니다. 여러 위젯에 데이터 서비스 실행과 같은 작업을 트리거하는 데 사용될 수 있는 이벤트도 있습니다. 위젯에 하나 이상의 이벤트가 있는 경우 Mashup Builder 디자인 타임에서 위젯의 왼쪽 위에 있는 화살표를 클릭하면 해당 이벤트가 표시됩니다. 이벤트가 있는 경우 데이터 서비스로 끌어 서비스 호출을 실행할 수 있습니다.