如何在Smart Client中创建新对象或ListGrid的克隆

时间:2016-05-13 07:39:22

标签: smartclient

我想在Smart Client中创建 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 个答案:

答案 0 :(得分: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(criteria," countryList.setData(data)"); //或:
  • countryList.fetchData(newCriteria); //如果countryList具有dataSource属性