EXT--Ext.data.Record 소개 & Store의 열 값 얻기

3026 단어 ext
var ds = new Ext.data.Store({
        autoLoad: true,
        url: 'widgets.xml',
        reader: new Ext.data.XmlReader({
            record: 'widget',
            fields: ['title', 'htmlpath']
        })
    });

    ds.on('load',function(){
          alert(ds.getAt(0).get('title'));
          alert(ds.getAt(0).get('htmlpath'));
          alert(ds.getAt(1).get('title'));
          alert(ds.getAt(1).get('htmlpath'));         
    });


 ds.getCount();//레코드 총 수 ds로 돌아갑니다.getAt(index);//index에서 레코드 되돌리기
 
 
Ext.data.Record는 내부 데이터 형식을 설정한 대상입니다. Ext.data입니다.상점의 가장 기본적인 구성 부분.Ext.data를스토어는 2차원 테이블로 간주되며, 그 줄마다 Ext.data가 대응됩니다.Record 인스턴스.
Ext.data.Record의 주요 기능은 데이터를 저장하고 내부 데이터가 바뀔 때 수정된 상태를 기록하는 것입니다. 수정되기 전의 원시 값을 보존할 수 있습니다.
Ext.data를 사용합니다.Record는 일반적으로create () 함수로 시작하며, 우선create () 함수로 사용자 정의 Record 형식을 만듭니다. 아래 코드와 같습니다.
var PersonRecord = Ext.data.Record.create([    {name: 'name', type: 'string'},    {name: 'sex', type: 'int'}]);PersonRecord는 문자열 형식의name와 정수 형식의sex 두 가지 속성을 포함하고 new 키워드를 사용하여 PersonRecord를 만드는 실례입니다. 아래 코드와 같습니다.
var boy = new PersonRecord({    name: 'boy',    sex: 0});대상을 만들 때 구조 방법을 통해 대상에 초기 값을 부여하고'boy'를 name에, 0을 sex에 부여할 수 있습니다.
이제 우리는 Person Record의 실례 boy를 얻었습니다. 어떻게 해야만 그것의 속성을 얻을 수 있습니까?다음 세 가지 방법은 boy에서name 속성의 데이터를 얻을 수 있습니다. 아래 코드와 같습니다.
alert(boy.data.name);alert(boy.data['name']);alert(boy.get('name'));여기에는 Ext.data가 포함됩니다.Record의 데이터 속성입니다. 이것은 Ext.data에 정의된 것입니다.현재 record 대상의 모든 데이터를 저장하는 데 사용되는 Record의 공통 속성입니다.JSON 객체로서 필요한 데이터를 직접 얻을 수 있습니다.Ext.data를 통해 가능합니다.Record의 get () 함수는 데이터 속성에서 지정한 속성 값을 쉽게 얻을 수 있습니다.
만약 우리가 boy의 데이터를 수정해야 한다면, 아래의 코드와 같이 데이터를 직접 조작하지 마십시오.
    boy.data.name = 'boy name';    boy.data['name'] = 'boy name';다음 코드와 같이 set () 함수를 사용해야 합니다.
    boy.set('name', 'body name');set () 함수는 속성 값이 바뀌었는지 판단합니다. 바뀌면 현재 대상의dirty 속성을true로 설정하고 수정된 원시 값을modified 대상에 넣어 다른 함수에 사용하도록 합니다.데이터의 값을 직접 조작하면record는 속성 데이터의 수정 상황을 기록할 수 없습니다.
Record의 속성 데이터가 수정되면 다음과 같은 몇 가지 작업을 수행할 수 있습니다.
lcommit () (제출): 이 함수의 효과는dirty를false로 설정하고modified에 저장된 원시 데이터를 삭제하는 것입니다.lreject()(취소): 이 함수의 효과는 데이터에서 수정된 속성 값을modified에 저장된 원시 데이터로 복원한 다음dirty를false로 설정하고 원시 데이터를 저장하는modified 대상을 삭제하는 것입니다.l getChanges () 수정된 부분: 이 함수는 데이터에서 수정된 속성과 데이터를 JSON 대상에 넣고 되돌려줍니다.예를 들어 이전 예에서 getChanges () 가 반환한 결과는 {name:'body name'}입니다.l 현재 record의 데이터가 수정되었는지 판단하기 위해 isModified () 를 호출할 수 있습니다.     Ext.data.Record는 Record 인스턴스를 복사하는 함수copy () 도 제공합니다.
  var copyBoy = boy.copy();이렇게 하면 보이의 복사본을 얻을 수 있습니다. 보이의 데이터 데이터가 포함되어 있지만,copy () 함수는dirty와modified 등 추가 속성 값을 복사하지 않습니다.
개발자 블로그:www.developsearch.com

좋은 웹페이지 즐겨찾기