仅将所选列添加到Gridview ASP.NET LINQ
本文关键字:Gridview ASP NET LINQ 添加 | 更新日期: 2024-09-22 15:46:32
我的WebForm中有一个GridView。我正在使用LINQ来设置数据源。我只想在GridView中显示表中选定的几列。
C#:
var source = from s in imd.Students
where s.Dept_Id == 18 && s.Year == 1
select new { Name = s.Name };
Marks.DataSource = source;
Marks.DataBind();
HTML:
<asp:GridView ID="Marks" runat="server">
<Columns>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="Name" runat="server" Text='<%# Bind("Name") %>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Score">
<ItemTemplate>
<asp:TextBox ID="Score" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
但是我在GridView中得到了两个Name列。我该怎么解决这个问题?我想要第一个Name列,然后是第二个列中的TextBox。提前感谢!
如果在标记中创建列,则可以关闭自动列创建:
<asp:GridView ... AutoGenerateColumns="false" >
C#
var source = from s in imd.Students
where s.Dept_Id == 18 && s.Year == 1
select new { Name = s.Name, Score = s.Score };
ASP.NET
<asp:GridView ID="Marks" runat="server" AutoGenerateColumns="false">