智能客户端数据源重新绑定

Smart client data source rebind

我创建了一个 smartclient 数据源和列表网格。 autoFetchData 设置为 false,列表网格数据源设置为我的数据源。

当我进行搜索时,我将数据源 dataURL 设置为我的 url 并调用列表网格 fetchData 方法。

var url = "myurl?value=123";
deploymentDataSource.dataURL = url;
deploymentList.fetchData();

这工作正常,列表网格正确显示值。

问题是当我尝试使用新参数再次进行搜索时,它不会使用新值更新我的列表网格。

var url = "myurl?value=456";
deploymentDataSource.dataURL = url;
deploymentList.fetchData();

这是我的数据源和列表网格:

isc.DataSource.create({
    ID: "deploymentDataSource",
    dataFormat: "json",
    fields: [
        {name: "id", title: "id"},
        {name: "date", title: "date"},
        {name: "buildNumber", title: "buildNumber"},
        {name: "projectKey", title: "projectKey"},
        {name: "planKey", title: "planKey"},
        {name: "buildEnvironment", title: "buildEnvironment"}
    ]
});


isc.ListGrid.create({
    ID: "deploymentList",
    width: 600, height: 300, alternateRecordStyles: true,
    dataSource: "deploymentDataSource",
    selectionType: "simple",
    autoFetchData: false
});

尝试在更改 DataSource.dataURL

后调用它
ListGrid.invalidateCache();

而且您不需要再次致电 ListGrid.fetchData()

参考: http://www.smartclient.com/docs/release/a/b/c/go.html#method..ListGrid.invalidateCache