2012-10-17 3 views
1

저는이 문제에 정말로 고심하고 있습니다. DateField를 관리하는 Datagrid에 Itemrenderer를 설정했습니다. 사용자는 날짜 및 기타 값을 직접 DataGrid에 입력 할 수 있습니다. 그들이 '제출'을 클릭하면 데이터베이스에 행을 채우고 싶습니다.이 서비스를 설정했습니다. 행은 예상대로 데이터 그리드의 모든 값을 사용하여 db에 작성되지만 사용자가 값을 입력 했음에도 불구하고 날짜가 채워지지 않습니다.데이터베이스에 제출할 때 Itemrenderer의 DataField 값에 액세스하십시오.

<s:GridColumn dataField="datf" headerText="Period From" rendererIsEditable="true"> 
<s:itemRenderer> 
    <fx:Component> 
     <s:GridItemRenderer dataChange="updateRenderer()"> 
      <fx:Script> 
       <![CDATA[ 
          public function updateRenderer():void { 
           periodFrom.text = outerDocument.dtf1.format(data.datf); 
          } 

          private function dateField_labelFunc(item:Date):String { 
           return outerDocument.dtf1.format(item); 
          } 
       ]]> 
      </fx:Script> 
       <mx:DateField horizontalCenter="0" verticalCenter="0" width="90%" id="periodFrom" labelFunction="dateField_labelFunc"/> 
     </s:GridItemRenderer> 
    </fx:Component> 

처리기

protected function createBillResult_resultHandler(event:ResultEvent):void 
     { 
      var dataProvider = itemsDg.dataProvider; 
      var item = null; 

      for (var i:int = 0; i < dataProvider.length; i++){ 
       item = dataProvider.getItemAt(i); 
       trace(item.datf);<!--WHAT SHOULD GO HERE--> 
       billItems.lnid = item.lnid; 
       billItems.days = item.days; 
       billItems.ratu = item.ratu; 
       createBillItemsResult.token = billingService.createBillItems(billItems); 
      } 
     } 

나는 내가 같은 DataField 속성을 사용하여의 itemRenderer의 값에 액세스 할 수 있다고 생각했을 것이다

에서 Datagrid : 다음은 코드입니다 이들은 itemrenderers가 아니지만 다른 항목들과 함께 할 수 있지만 trace (item.datf)는 'undefined'를 반환합니다. 잘못된 구문을 사용하고 있습니까?

브라이언

답변

0

당신은 다시 데이터 객체로 데이터를 전송 당신의 itemRenderer의 기능이 없습니다. 그러나 DateField는 IDataRenderer 및 IDropInListItemRenderer를 구현하므로 GridItemRenderer 래퍼를 제거하면 예상대로 작동합니다. Spark DataGrid에서 labelFunction을 제거한 것 같습니다 (이상하게도 dataTipFunction이 있습니다). 따라서 GridItemRenderer를 확장 한 방식으로 DateField를 약간 확장해야 할 수 있습니다.


편집 응답에 대한 What is the replacement for labelFunction in Spark DataGrid?

+0

감사 에이미에서 추가 질문보고 응답합니다. 죄송합니다. 데이터를 데이터 객체로 다시 전송하는 함수를 포함하도록 원래 코드를 편집했습니다. GridItemRenderer 래퍼를 제거하면 함수 updateRenderer을 사용하여 데이터를 바인딩하는 방법은 무엇입니까? 어쨌든, 계속 놀아서 알려 드리겠습니다. – user1753640

관련 문제