0

我有 a DataGridI 绑定到 a DataTableBoundColumn结果显示三个 s。

我想要第四列连接不同的数据——例如,如果 DataGrid 中的第 3 列是用户 ID,我想用它来查询数据库并检索用户的名字,并显示它在第四列。

有什么推荐的方法吗?我不是 DataGrid 专家,但我应该看看TemplateColumn这些方面的东西吗?

我应该将所有这些查询挂钩到哪个事件OnItemDataBound

4

2 回答 2

3

推荐的方法是将用户的名字作为原始查询的一部分返回,并且只使用BoundColumn. 如果您需要在显示之前修改数据,那么可以使用 aTemplateColumnOnItemDataBound事件来操作数据。

OnItemDataBound我不会鼓励运行查询。因此,如果您的网格将一次显示 100 条记录,您想在每次页面加载时运行 100 个额外的查询?如果您实施,这可能会在测试期间在合理范围内运行。但是一旦在负载下,您会发现运行数百个额外的查询并不是一个好主意......它可以通过修复原始查询或根据您的数据库结构和您的复杂性制作非规范化表来解决询问。

当我遇到类似问题时,我采用了非规范化表路线。

于 2013-03-21T21:35:42.880 回答
0

在您的 sql 语句中使用连接来获取其他值。

于 2013-03-21T22:50:41.547 回答