我有一个DataGrid
我绑定到DataTable
,结果显示三个BoundColumn
。
我想要第四列连接不同的数据 - 例如,如果DataGrid中的第3列是UserID,我想用它来查询数据库并检索用户的名字,并将其显示在第四列。
有什么建议的方法吗?我不是DataGrid专家,但是我应该看一下TemplateColumn
或其他类似的东西吗?
我应该将所有这些查询挂钩到哪个事件OnItemDataBound
?
答案 0 :(得分:3)
建议的方法是将用户的名字作为原始查询的一部分返回,并使用BoundColumn
。如果您需要在显示之前修改数据,那么您可以使用TemplateColumn
和OnItemDataBound
事件来操纵您的数据。
运行查询OnItemDataBound
不是我鼓励的。因此,如果您的网格一次显示100条记录,您是否希望每页加载100个额外查询?如果您实施,可能会在测试期间在合理范围内运行。一旦加载,你会看到有数百个额外的查询运行不是一个好主意...它可以通过修复原始查询或可能根据您的数据库结构和您的复杂性制作非规范化表来解决查询。
当我遇到类似的问题时,我去了非规范化的表路径。
答案 1 :(得分:0)
在sql语句中使用连接来获取其他值。