2010-08-06 2 views
1

여기에 대한 설명은 누군가가 인내심을 가지고 읽을 수 있기를 바랍니다.Flex 4 데이터 관리 - 어떻게 접근합니까?

주문 시스템을 처리하는 Flex 4에서 응용 프로그램을 빌드하고 있습니다. 작은 mySql 데이터베이스가 있고 PHP를 사용하여 데이터베이스를 처리하는 몇 가지 서비스를 작성했습니다.

은 기본적으로 논리는 다음과 같이 간다 : 나는 제품, 주문 및 고객의 CRUD 관리에 아무런 문제가 없을

나는 고객, 제품, productGroups, 주문 테이블을 가지고 있고, orderContent

, 그것은

내가 원하는 것은 dataGrids에있는 제품을 php-services를 통해 Flex datamanagement로 채워지는 그룹으로 정렬하여 표시하는 것입니다. 그 자체는 문제가되지 않습니다. 그러나 사용자가 해당 제품의 주문하고자하는 금액을 입력 할 수있는 추가 열을 DataGrid에 원합니다. 이 열은 이론적으로 php 서비스를 통해 db 테이블 "orderContent"에 바인딩됩니다.

문제는 데이터를 바인딩 할 수있는 데이터베이스에서 먼저 새 주문을 만들어야한다는 것입니다 (orderContent는 db의 주문과 연결됨).

사용자가 제품을보기 위해 페이지를 입력 할 때마다 새로운 주문을 만들고 싶지 않습니다. 버튼을 눌러 주문을 작성한 다음 페이지의 데이터 격자에서 모든 것을 가져오고 싶습니다. 그것을 데이터베이스에 제출하십시오.

제 아이디어는 제품이 들어있는 DataGrid 옆에 하나의 열로 된 DataGrid를 만들고 그 DataGrid에서 사용자가 주문하려고하는 제품의 양을 입력 할 수있게하는 것이 었습니다 .

내가 주문을위한 필요 데이터를 포함하는 valueObject을 만들었습니다

코드 : 내 생각은 특정 그룹에서 모든 제품을 얻을 수있는 서비스를 사용하는 것이 었습니다

package valueObjects 
{ 
    public class OrderAmount 
    { 

    public var productId:int; 
    public var productAmount:int; 
    public var productPrice:Number; 

    public function orderAmount() 
    { 
    } 
    } 
} 

, ArrayCollection에 데이터를 채운 다음 해당 ArrayCollection의 각 객체를 위의 값 객체의 인스턴스로 전송하고 값 객체를 하나의 열 DataGrid에 대한 dataProvider로 사용될 다른 ArrayCollection에 추가합니다 (금액 만 표시합니다. 처음에는 0으로 설정되지만 다른 데이터는 db로 전송할 때 사용)

DataGrid 용 제품을 검색하고 valueobjects를 전송하는 resultHandler를 넣는 자동 생성 된 serviceResults의 결과를 사용하려고 시도했지만 작동하지 않는 것 같습니다.

기본적으로 내 질문은 다음과 같습니다.이 문제에 완전히 접근하고 있습니까? 아니면 내가 계획 한대로 작동시킬 수있는 방법이 있습니까?

제품 ID를 얻으려면 완전히 새로운 서비스 요청을 만들고 가격은 1 열짜리 DataGrid를 채울 필요가 있습니까?

도움이 될만한 코드가 있으면 게시 해 드리겠습니다.

여기까지 읽어 주셔서 감사합니다.

답변

1

그리드의 각 행과 그룹의 모든 제품을 반환 한 PHP 서비스에서 필요한 모든 정보를 보유하기 위해 값 객체 클래스를 작성하여 결과를 반복하고 내 값에 필요한 데이터를 전송했습니다 목적.

그런 다음 각 Value Object를 ArrayCollection에 추가하고 dataGrid에 대한 dataProvider를 만들었습니다.

두 개의 격자를 사용할 필요가 없습니다. DataGrid 데이터를 ArrayCollection처럼 생각하고 화면에 시각적 인 표시를 잊어 버리면 논리가 어떻게되는지 잊어 버렸습니다.

몇개의 아이템을 넣으면서, 모든 것이 아름답고, 전체가 아름답습니다!

+0

이 아름다운 코드 중 일부는보기 좋을 것입니다. – Task

관련 문제