2

我有两张桌子:

产品
-ProductID、
-ProductName、
-ProductCategoryID、

ProductCategories
-ProductCategoryID,
-ProductCategoryName,

我正在使用数据集,并且可以成功地建立从 Products [ProductCategoryID] 到 ProductCategoryID 表的关系。如何让 Gridview 显示为 ProductCategoryName 而不是整数引用?

我习惯于在默认情况下发生这种情况的 Access,但它在 Visual Studio 中似乎并没有那样工作。

4

4 回答 4

1

在查询中的两个表之间创建表连接。例如,要显示单列:

SELECT ProductCategoryName FROM Products
JOIN ProductCategories ON
Products.ProductCategoryID = ProductCategories.ProductCategoryID

myGrid.DataSource = myDataSet;
myDataSet.Bind();
于 2012-05-29T20:12:01.967 回答
0

好的,您需要提供有关如何使用 gridview 的更多信息。假设您正确填写所有内容并且您正在使用 .aspx 上的列,您是否尝试过

<asp:GridView ID="yourId" runat="server" AutoGenerateColumns="false"> 
<Columns> 
...
    <asp:BoundField DataField="ProductCategories.ProductCategoryName" HeaderText="Category" /> 
...
</Columns> 
于 2012-05-29T19:26:21.397 回答
0

根据您的实现,可能值得考虑基于视图模型的方法。创建一个新类

ProductModel
-ProductId
-ProductCategoryName
-ProductName

将您的网格绑定到此对象的集合而不是数据库对象。这不适用于每个实现,但值得建议。

于 2012-05-29T19:53:03.207 回答
0

从产品 a,ProductCategories b 中选择 a.ProductID,a.ProductName,b.ProductCategoryName 其中 a.ProductCategoryID=b.ProductCategoryID

myGrid.DataSource = myDataSet; myDataSet.Bind();

于 2012-06-05T09:58:15.730 回答