如果映射存储在您的数据库中,您可以在查询中使用INNER JOIN 来获取映射值。
例如,如果您有一个Orders 表,其中包含OrderID、ClientID、Price 和PaymentTypeID 字段:
OrderID ClientID Price PaymentTypeID
3 8 40.50 3
4 2 128.43 1
一个Clients 表,其中包含ClientID 和ClientName 字段:
ClientID ClientName
2 Woolworth
3 Dairy Queen
6 Dominion Groceries
8 Miracle Mart
还有一个PaymentType 表,其中包含PaymentTypeID 和Description 字段:
PaymentTypeID Description
1 Cash
2 Money transfer
3 Visa
那么查询可能如下所示:
SELECT
O.*,
C.ClientName,
PT.Description AS PaymentDescription
FROM
Orders O
INNER JOIN Clients C ON C.ClientID = O.ClientID
INNER JOIN PaymentType PT ON PT.PaymentTypeID = O.PaymentTypeID
在您的 GridView 中,您可以显示 Orders 表中的一些字段,也可以显示查询返回的字段 ClientName 和 PaymentDescription:
ClientName Price PaymentDescription
Miracle Mart 40.50 Visa
Woolworth 128.43 Cash
ID 本身通常不会显示给用户。如果您需要它们的值在代码隐藏中进行某些处理,您可以将它们添加到 GridView 的DataKeyNames:
<asp:GridView ID="gvOrders" DataKeyNames="OrderID,ClientID,PaymentTypeID" ... >
并像这样获取它们的值:
gvOrders.DataKeys[rowIndex].Values["PaymentTypeID"]