这应该很容易,但...
下面的代码工作得很好(我已经去掉了这里不需要的信息):
$(function()
{
.
..
...
// Defining the data options.
var datasetOptions =
{
fields: fieldArray,
recordType: 'array',
data: rowData
};
// Putting together the column options.
var columnOptions = new Array();
for (var i = 0; i < fieldNames.length; i++)
{
columnOptions.push({id: fieldNames[i], header: fieldNames[i], width: columnWidth});
}
// Defining the grid options.
var toolbar = 'filter state';
var gridOptions =
{
id: 'SigmaGridID',
container: 'SigmaGridDiv',
height: gridHeight,
pageSize: rowCount,
replaceContainer: true,
resizable: true,
selectRowByCheck: false,
showGridMenu : false,
showIndexColumn: false,
skin: "vista",
toolbarContent: toolbar,
toolbarPosition: 'bottom',
width: gridWidth,
dataset: datasetOptions,
columns: columnOptions
};
// Displaying the grid.
var grid = new Sigma.Grid(gridOptions);
Sigma.Util.onLoad(Sigma.Grid.render(grid));
});
当页面加载时,网格被填充并且一切都很好。但我不想每次都重新加载整个页面。
我成功地使用以下方法动态重新填充网格:
var grid = Sigma.$grid("SigmaGridID");
grid.refresh(rowData);
Sigma.Grid.render(grid);
但这不会调整列。因此,如果我要添加一列,则数据会更新,但缺少一列。如果我删除一列,则显示数据,但额外的列全部为空。
所以。如何调整列或有更好的方法来动态重新渲染和重新显示 Sigma 网格?换句话说,我们如何不仅在页面加载时显示 Sigma Grid?
谢谢。
迈克尔