簡體   English   中英

如何合並2個來源中的列並綁定到GridView

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM