繁体   English   中英

ASP.NET关系数据库

[英]ASP.NET Relational database

我有两个表:

制品
-ProductID,
-产品名称,
-ProductCategoryID,

产品类别
-ProductCategoryID,
-ProductCategoryName,

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

我习惯于Access在默认情况下会发生,但在Visual Studio中似乎无法正常工作。

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

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

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

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

<asp:GridView ID="yourId" runat="server" AutoGenerateColumns="false"> 
<Columns> 
...
    <asp:BoundField DataField="ProductCategories.ProductCategoryName" HeaderText="Category" /> 
...
</Columns> 

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

ProductModel
-ProductId
-ProductCategoryName
-ProductName

将网格绑定到该对象的集合,而不是数据库对象。 这并非对每个实现都很好,但是值得一提。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM