Asp.net 一个gridview-两个数据源?

Asp.net 一个gridview-两个数据源?,asp.net,gridview,datasource,Asp.net,Gridview,Datasource,我在一个同事的网站上工作,他错误地在gridview上显示了TypeID而不是TypeName。我想输入类型的实际名称,而不是像他那样的任意ID号。我看到他在页面上有两个ObjectDataSource——一个用于类型,一个用于项。Items包含项目类型的ID,该ID全部位于Items数据源中。他拉取这个ID来填充gridview。我想使用该ID从另一个数据源中提取名称,并将该名称放入该特定列的gridview中。这能做到吗?我可以在gridview上使用两个不同的数据源吗 如果我理解正确,那么

我在一个同事的网站上工作,他错误地在gridview上显示了TypeID而不是TypeName。我想输入类型的实际名称,而不是像他那样的任意ID号。我看到他在页面上有两个ObjectDataSource——一个用于类型,一个用于项。Items包含项目类型的ID,该ID全部位于Items数据源中。他拉取这个ID来填充gridview。我想使用该ID从另一个数据源中提取名称,并将该名称放入该特定列的gridview中。这能做到吗?我可以在gridview上使用两个不同的数据源吗

如果我理解正确,那么您有两个数据源可以做到这一点:

1) SELECT ID, Item, ItemTypeID FROM Item
2) SELECT ID, ItemType FROM ItemTypes 
您需要在网格中显示项目名称和项目类型

要回答您的基本问题,是否可以使用网格上的两个源:是。但这不是执行操作的最有效方式,因为您需要为第一行中的每一行遍历第二个数据源

更好的方法是将两个数据源连接在一起,并且只有一个

将第一个datasrouce的SELECT语句修改为以下内容:

SELECT i.ID, i.Item, t.ItemType FROM Item i INNER JOIN ItemTypes t ON i.ItemTypeId = t.ID;

如果我理解正确的话,您拥有的是两个数据源:

1) SELECT ID, Item, ItemTypeID FROM Item
2) SELECT ID, ItemType FROM ItemTypes 
您需要在网格中显示项目名称和项目类型

要回答您的基本问题,是否可以使用网格上的两个源:是。但这不是执行操作的最有效方式,因为您需要为第一行中的每一行遍历第二个数据源

更好的方法是将两个数据源连接在一起,并且只有一个

将第一个datasrouce的SELECT语句修改为以下内容:

SELECT i.ID, i.Item, t.ItemType FROM Item i INNER JOIN ItemTypes t ON i.ItemTypeId = t.ID;

谢谢-我自己算出来的。好吧,我想是在学习,我刚刚制作了一个新的ObjectDataSource,它从两个表中提取。当我修改现有的SQL时,我得到了一些我不理解的错误。创建一个新的数据源解决了我的问题,但你让我走上了正确的道路:哦,我知道我遇到的错误-似乎当出于某种原因使用内部联接时,它无法自动创建INSERT语句。因为这个INSERT语句在别处被引用了,所以它爆炸了。谢谢-我自己算出来的。好吧,我想是在学习,我刚刚制作了一个新的ObjectDataSource,它从两个表中提取。当我修改现有的SQL时,我得到了一些我不理解的错误。创建一个新的数据源解决了我的问题,但你让我走上了正确的道路:哦,我知道我遇到的错误-似乎当出于某种原因使用内部联接时,它无法自动创建INSERT语句。由于这个INSERT语句在别处被引用,它被炸了。