将列绑定到与gridview不同的实体源
本文关键字:实体 gridview 绑定 | 更新日期: 2023-09-27 18:02:00
我有一个gridview绑定到一个实体数据源(权限)。其中一列列出UserId,这是另一个表中的主键。我如何去替换UserId与相应的名称形式的用户实体数据源?
你可以试试…
<asp:TemplateField HeaderText="User Name" >
<ItemTemplate>
<asp:Label ID="lblUser" runat="server" Text='<%# Eval("ParentEntityName.Name")%>'
</ItemTemplate>
</asp:TemplateField>
可以在用户实体源中查找Gridview的RowDataBound事件
整理一下…
<asp:TemplateField HeaderText="ApprovedBy" SortExpression="ApprovedBy" >
<ItemTemplate>
<asp:Label ID="lblUser" runat="server" Text='<%# GetApprover(Eval("ApprovedBy").ToString()) %>'/>
</ItemTemplate>
</asp:TemplateField>
和后面的代码:
protected string GetApprover(string ApproverId)
{
int approver = Convert.ToInt32(ApproverId);
var approversList = (from a in EntUsers.Users
where a.UserId == approver
select a.Name).FirstOrDefault();
return approversList;
}