2016-05-13 19 views
0

というオブジェクトをSmart ClientのListGridコンポーネントに作成したいとします。スマートクライアントでListGridの新規オブジェクトまたはクローンを作成する方法

isc.ListGrid.create({ 
    ID: "countryList", 
    width:500, height:224, top:50, alternateRecordStyles:true, 
    fields:[ 
    {name:"countryCode", title:"Flag", width:50, type:"image", imageURLPrefix:"flags/16/", imageURLSuffix:".png"}, 
    {name:"countryName", title:"Country"}, 
    {name:"capital", title:"Capital"}, 
    {name:"continent", title:"Continent"} 
]}) ; 

今countryListはListGridコンポーネントのIDです。

このグリッドにはいくつかの値があり、データベースの値のような他の値を入れたいと思います。以前の値を上書きしたり変更したりする必要がないという条件があります。 countryListの新しいオブジェクトです。

これをどのように達成できますか?

答えて

1

同じListGridの別のインスタンスが必要な場合や、別のデータを同じListGridに表示する必要がある場合はわかりません。

あなたが別のインスタンスが必要な場合は、クラスを定義することができます。

isc.defineClass("MyGrid", "ListGrid"); 
isc.MyGrid.addProperties({ 
    width:500, height:224, top:50, alternateRecordStyles:true, 
    fields:[ 
    {name:"countryCode", title:"Flag", width:50, type:"image", imageURLPrefix:"flags/16/", imageURLSuffix:".png"}, 
    {name:"countryName", title:"Country"}, 
    {name:"capital", title:"Capital"}, 
    {name:"continent", title:"Continent"} 
    ] 
}); 
isc.MyGrid.create({ID: "countryList"}); 
isc.MyGrid.create({ID: "countryList2"}); 

をそうでない場合、あなたは同じListGridインスタンス内の異なるデータを表示する必要がある場合は、あなたができる:

  • countryListを。 setData(newData); //または:
  • dataSource.fetchData(条件、 "countryList.setData(data)"); //または:
  • countryList.fetchData(newCriteria); // countryListにdataSource属性がある場合
+0

私は75個以上のfieldsを持つグリッドグリッドを持っています。パラメータを持つメソッドをList Grid(var array = ListGrid_ID.getRecord(index);)の配列にしました。データベースから来るデータに対して同じメソッドを使いたいので、ListGridの新しいインスタンスにDB値を保持する必要があります。新しいインスタンスを作成する方法がわかりません。 –

+0

私は上記の方法を試してみましたが、同じ画面に2つのリストグリッドを表示しています.iは2つのオブジェクトが必要ですが、画面上のリストグリッドにのみ必要です。 –

関連する問題