我正在尝试访问外键的值 我创建了一个LinqToSQL类,我创建了表之间的关系。 我已经开发了这个:
<asp:ObjectDataSource ID="odsEmp" runat="server"
SelectMethod="GetAllEmployees" TypeName="Emp"></asp:ObjectDataSource>
</asp:LinqDataSource>
<cc1:Grid ID="Grid1" runat="server" AutoGenerateColumns="False"
DataSourceID="odsEmp" >
<Columns>
<cc1:Column DataField="ID" HeaderText="ID" Index="0" ReadOnly="True"
Visible="False">
</cc1:Column>
<cc1:Column DataField="EmpName" HeaderText="EmpName" Index="1">
</cc1:Column>
<cc1:Column DataField="DeptID" HeaderText="Dept" Index="2">
</cc1:Column>
<cc1:Column DataField="DeptID" HeaderText="DeptName" Index="6">
<TemplateSettings TemplateId="templateDeptItem" />
</cc1:Column>
</Columns>
<Templates>
<cc1:GridTemplate ID="templateDeptItem">
<Template>
<%# Container.DataItem["Dept.DeptName"]%>
</Template>
</cc1:GridTemplate>
</Templates>
</cc1:Grid>
到目前为止,我无法检索部门名称。
由于我没有使用付费版本,支持不会回复我。
知道我做错了什么?
我使用ASP.Net GridView创建了另一个网格,它运行良好
<asp:GridView ID="GridView1" runat="server"
DataSourceID="odsEmp" AutoGenerateColumns="False"
AutoGenerateEditButton="True">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="EmpName" HeaderText="EmpName" />
<asp:TemplateField HeaderText="Dept">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Dept.DeptName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答案 0 :(得分:1)
我已联系过支持并得到了答案
你必须简单地使用它:
<cc1:GridTemplate ID="templateDeptItem">
<Template>
<%# ((Dept)((Emp)Container.DataObject).Dept).DeptName%>
</Template>
</cc1:GridTemplate>