我正在开发一个项目,我需要将Infragistics WebGrid控件用于某些数据列表。我使用JavaScript在客户端加载数据以在Map上显示,然后我需要在多个WebGrids中显示相同的数据。所有可用数据都将显示在WebGrids中,但在任何给定时间,只会在地图上绘制数据的子集(仅当前在视图中的数据)。由于我使用JavaScript / Ajax加载数据,我只想加载一次,并使用相同的机制用数据填充WebGrid控件。

是否有人在客户端JavaScript / Ajax代码中完全使用WebGrid有任何提示/指示?

有帮助吗?

解决方案

想到的唯一想法是与绩效相关。我们发现,为UltraWebGrid动态创建和填充行的速度明显慢于我们想要的速度。 (在我们的例子中,我们将行从一个网格移动到另一个网格,并在行数太大时遇到性能问题。)

如果我正在做你今天描述的事情,我会尽可能地从服务器端填充网格,并从那里在地图上显示相关值。

作为补充免责声明,我们使用了Infragistics 2007.1;我不知道2008.x在这方面是否更好。

其他提示

Infragistics webgrids公开了一个非常复杂的客户端对象模型,您可以使用它来填充数据客户端。

您要做的第一件事是查看webgrid控件的完整CSOM,您可以在以下位置找到当前的doc版本: http://help.infragistics.com/NetAdvantage/NET/2008.3/CLR2.0/

举一个简短的例子,您需要获取网格的refence,然后添加一些行和数据。在设计时为网格设置列定义可能更容易,而不是尝试在javascript中完成所有操作。

首先:了解您的网格:

var grid = igtbl_getGridById('dataGridControlID');

然后添加一个新行:

var newRow = grid.Rows.addNew()

完成这些操作后,您可以循环行的列以填充数据:

var oCols = newRow.Band.Columns;
for(var i=0; i < oCols.length; i++) {
    newRow.getCell[i].setValue(yourValue)
}

或按键解决每个问题以填充其数据:

newRow.getCellFromKey(colKey).setValue(yourValue,fireEvents);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top