1

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

有没有人有关于完全从客户端 JavaScript/Ajax 代码中使用 WebGrid 的任何提示/指针?

4

2 回答 2

4

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

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

举一个简短的例子,您需要获取对网格的引用,然后添加一些行和数据。在设计时为您的网格设置列定义可能会更容易,而不是尝试在 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);
于 2009-01-14T19:30:42.373 回答
1

想到的唯一想法是与性能相关的。我们发现为 UltraWebGrid 动态创建和填充行明显比我们希望的要慢。(在我们的例子中,我们将行从一个网格移动到另一个网格,当行数过多时会遇到性能问题。)

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

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

于 2008-10-24T08:18:51.667 回答