[英]How to Combine Columns from 2 Sources and Bind to GridView
我有:1個數據表-EmployeeAccess和1個視圖-View_HCM
兩者具有相同的列(EmpNo),View_HCM具有1000多個數據,而EmployeeAccess僅具有4個數據。 View_HCM具有電子郵件地址字段,而EmployeeAccess沒有。 我需要根據4個數據從View_HCM獲取電子郵件地址。
public List<EmployeeAccess> EmployeeAccess2()
{
EmployeeAccess EA = new EmployeeAccess();
View_HCM VH = new View_HCM();
var x = from b in contxt.View_HCM
where b.EmpNo == EA.EmpNo
select b.EmailAddress;
return x.ToList();
}
我收到此錯誤:
Cannot implicitly convert type 'Systems.Generic.Collections.String<string>' to ... '< list >'
您的退貨類型錯誤。
要修復錯誤,請更改返回的類型:
public List<string> EmployeeAccess2()
{
EmployeeAccess EA = new EmployeeAccess();
View_HCM VH = new View_HCM();
var x = from b in contxt.View_HCM
where b.EmpNo == EA.EmpNo
select b.EmailAddress;
return x.ToList();
}
要在gridview中顯示電子郵件地址,您可以這樣操作
用單個命名字段定義一個類:
public class EmailRecord
{
public string EmailAddress{ get; set; }
}
public List<EmailRecord> EmployeeAccess2()
{
EmployeeAccess EA = new EmployeeAccess();
View_HCM VH = new View_HCM();
var x = from b in contxt.View_HCM
where b.EmpNo == EA.EmpNo
select new EmailRecord
{
EmailAddress = b.EmailAddress
};
return x.ToList();
}
綁定網格
gridEmployeeAccess.DataSource = TAClass.EmployeeAccess2(); gridEmployeeAccess.DataBind();
在aspx中:
<asp:GridView ID="gridEmployeeAccess" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="EmailAddress" headertext="Email Address"/>
</Columns>
</asp:GridView>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.