반응형
datagrid 에 나열된 특정 로우들 선택표시하기

안녕하세요. datagrid 와 관련하여 질문 올립니다.

데이타그리드에 여러개의 데이터 로우가 있다고 할때, 화면 초기화시 로컬PC에 있는 설정정보에 따라 데이타 그리드에 특정 로우만 사용자가 멀티 선택한것 처럼 자동으로 표시해 주려고 합니다.

싱글 자동 선택은 은 selectedItem = object 방식으로 하면 선택 활성화가 되던데 멀티 선택 사용시 여러개의 항목들을 자동 선택하게 하려면 어떤 방법으로 접근해야하는지 알고 싶습니다. selectedItems.push(object) 는 안되더라구요... ^^;

조언 부탁드립니다. 감사합니다.

selecteditems..API를 읽어보시면 알겠지만..사용하기가 좀 그렇죠..ㅋㅋ. 전 약간의 편법을 이용해서. string으로 나열한후 array변환후 사용했습니다. 예를 들어 1,3번을 선택 해야 한다면 string = '1,3'을 넣고 array변화후 [1,3] selecteditems에 넣으시면됩니다. 도움이 되셨는지 모르겠네요 ^^


flex와 jsp연동하기.

안녕하세요. flex 이제 막 시작하는데 너무나 어렵네요.
flex와 자바를 연동하고 싶습니다.
기존에 조회 및 저장 할때

<mx:HTTPService id="aaa" showBusyCursor="true"
     resultFormat="e4x"
     url="{ContextConfig.SERVLET_PATH}" result="aa_binding(event)"/>

이런식으로 해서... aaa.send() 호출하면 결과가 private aa_binding(e:ResultEvent):void{ 결과값 } 이런식으로 해서 조회 및 저장을 했는데요.

이번에는 textarea(발송내용),grid(성명,핸드폰),전송 버튼을 만들고  전송 버튼을 누르면 해당 발송내용,성명,핸드폰을

아규먼트로 넘기고 *.jsp에서 발송내용,성명,핸드폰을 아규먼트로 받아야 합니다.(물론 여러건이 한꺼번에 전송되겠지요)

아규먼트로 받아서 SMS전송모듈을 태워야합니다.

어떻게 해야하는지 난감합니다.

그냥 말로만 설명하시면 제가 잘 이해를 못하거든요... 간단하게 소스로 설명을 좀 해주세요. ㅜㅜ 너무어려버여.

<mx:TextArea id="SEND_DESC" height="109" width="446" maxChars="80"/> //발송내용

<mx:DataGrid width="445" height="209" id="dgr1">
     <mx:columns>
      <mx:DataGridColumn headerText="성명" dataField="NAME"/>  //성명
      <mx:DataGridColumn headerText="전화번호" dataField="HP_NO"/> //전화번호
     </mx:columns>
    </mx:DataGrid>

<mx:Button label="전송" width="90" height="22" click="sendClickEvent()"/> //전송버튼

전송버튼 클릭 시

private function sendClickEvent():void{
 if(validateData()>=0){
  Alert.show("전송하시겠습니까?", "확인",  Alert.OK | Alert.CANCEL, this,alertListener, null, Alert.OK);
 }else{
  Alert.show("입력값을 확인 해 주세요!");
 }
}

private function alertListener(eventObj:CloseEvent):void {
 if (eventObj.detail==Alert.OK) {
       //전송시작
       }
}


var params : Object = new Object();
params.파라미터명 = 파라미터값;
params.파라미터명 = 파라미터값;
params.파라미터명 = 파라미터값;

aaa.send(params);

<mx:HTTPService id="aaa" showBusyCursor="true" resultFormat="e4x" url="{ContextConfig.SERVLET_PATH}" result="aa_binding(event)">
<mx:request xmlns="*">
<phone>{phone.text}</phone>
<username>{username.text}</username>
<content>{content.text}</content>
</mx:request>
</mx:HTTPService>

원래 글 위치 : http://cafe.naver.com/flexcomponent/5029
도와 주세요.(Open Api 관련)

<Flickr.mxml>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"  backgroundColor="#FFFFFF">
 <mx:HTTPService id="RequestPhotos"
         url="http://www.flickr.com/services/rest/?method=flickr.photos.search
         useProxy="false" >
        
          <mx:request>
          <api_key>a11678c655ada08e2911181e2954e567</api_key>
          <per_page>20</per_page>
          <tags>{Flickr_Search_Input.text}</tags>
         </mx:request>

         
 </mx:HTTPService>
 <mx:Script>
  <![CDATA[
    import mx.controls.listClasses.*;
            import mx.controls.Image;
            import mx.collections.ArrayCollection;
  ]]>
 </mx:Script>
 
   <mx:VBox label="Booster Account" width="100%" >
     <mx:TextArea  height="20" id="Flickr_Search_Input" />
     <mx:Button  label="Search" id="Flickr_Search" click="RequestPhotos.send();"/>
 <mx:HBox>
  <mx:DataGrid id="dgPosts" height="100%" width="263"
          dataProvider="{RequestPhotos.lastResult.rsp.photos.photo}">
          <mx:columns> <!-- xml 의 구조에 맞게 수정 -->
              <mx:DataGridColumn headerText="title" dataField="title"/>
              <mx:DataGridColumn headerText="server" dataField="server"/>
              <mx:DataGridColumn headerText="id" dataField="id"/>
              <mx:DataGridColumn headerText="secret" dataField="secret"/>
          </mx:columns>
      </mx:DataGrid>

  <mx:TileList id="myList"
         dataProvider="{RequestPhotos.lastResult.rsp.photos.photo}"
         columnWidth="150"
         rowHeight="200"
         width="100%"
         height="100%"
         itemRenderer="mycomp.ImageComp"/>
 </mx:HBox>
 
   
   </mx:VBox>
 
</mx:Application>
=============================================================================================

<ImageComp.mxml> <!-- mycomp 폴더 생성 후 그 안에 mycomp/ImageComp.mxml>

<?xml version="1.0" encoding="utf-8"?>

<mx:VBox  xmlns:mx="http://www.adobe.com/2006/mxml"
    horizontalAlign="center"
    verticalAlign="top"
    mouseOver="currentState='showdesc'"
    mouseOut="currentState=''" >

    <mx:Image id="img1"
        source="http://static.flickr.com/{data.server}/{data.id}_{data.secret}.jpg"
        width="75"
        height="75"/>
    <mx:Label text="{data.id}"/>

    <mx:states>
        <mx:State name="showdesc">
            <mx:AddChild>
                <mx:Text text="사진"/>
            </mx:AddChild>
            <mx:SetProperty target="{img1}" name="width" value="100"/>
            <mx:SetProperty target="{img1}" name="height" value="100"/>
          
          
        </mx:State>
    </mx:states>
</mx:VBox>

예전에 제가 올린 플릭알 사진 그리드에 뿌려지고 그리드 클릭하면 사진 나오는거
그것을 LIST 로 뿌려지게 좀 수정했습니다. 좌측의 그리드는 그냥 참고로 넣어봤습니다...
그리드와 연동해서 LIST에 뿌려주어도 되겠네요... 이미지 클릭하면 확대 되는 기능 추가해도 되는데.
시간없어서 ^^ 누군가 추가해주세요.
핵심은 TileList 에 아이템랜더러를 통해 구현해 봤습니다. (참고로 repater 써도 되긴 합니다 .)
---------------------------------------------------------------------------------------
사용법은 : 입력값에 글자 넣고 Search 버튼을 클릭하면 데이타가 조회됩니다.




안녕하세요~ 궁금한것이 있어서 이렇게 글을 올립니다..
제가 지금 게시판같은 비슷한것을 만들고 있습니다..
다름이 아니라 TextInput박스에 사용자가 값을 입력하면 DataGrid에 출력을 할려고 하는데..

그게 가능한지?? 궁금해서 글을 올립니다.. 지금 해보고 있는데.. 글이 올라가긴 하는데.. 어떻게 해야 할지

감이 잘 오질 않아서요.. 고수님들이 제게 Tip좀 주세요 ㅠㅠ
-----------------------------------------------------------------------------------------------
게시판이면 데이터형의 객체를 만드시고 textinput의 값을 객체 쑤셔 넣으시고 데이터그리드에 바인딩 되어있는 arrayCollection이나 array이 객체를 추가하세요~

반응형
Posted by Real_G