我是一名新的ASP.NET开发人员,我正在尝试学习Linq-To-Entities。我有一个非常奇怪的问题。我的数据库中有以下两个表或实体:
Items Table: ID, Code, Name, StatusID
Status Table: ID, Name
我试图在GridView中查看项目的所有细节。例如,我只想在表格中显示两列,例如GridView中的Name和Code。我正在尝试开发一个通用的get数据方法,它将从表中检索所有细节。但是,我希望稍后指定要在GridView中显示的列。 这是我的方法:
public IEnumerable<Items> getData()
{
List<Items> itemsList = new List<Items>();
using (ItemsDBEntities context = new ItemsDBEntities())
{
itemsList = (from item in context.Items
select new Items()
{
ID = item.ID,
Code = item.Code,
Name = item.Name
}).ToList();
}
return itemsList;
}
我将GridView绑定到此方法。但如何在不更改方法的情况下指定要显示的两列而不是所有列?
答案 0 :(得分:0)
在AutoGenerateColumns = "false"
的标记集GridView
中使用TemplateField
,如下所示:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns = "False">
<Columns>
<asp:TemplateField >
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.Id") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.Code") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>