C# 如何在listview中显示所有行
我有一个asp.net web表单和列表视图。我想使用linq从SQL Server表中获取数据 但当我看到结果时,我看不到带有示例第一个字段(个人id)的行 如何显示所有结果 在我的SQL Server表中,我看到它是这样的:C# 如何在listview中显示所有行,c#,asp.net,sql-server,entity-framework,C#,Asp.net,Sql Server,Entity Framework,我有一个asp.net web表单和列表视图。我想使用linq从SQL Server表中获取数据 但当我看到结果时,我看不到带有示例第一个字段(个人id)的行 如何显示所有结果 在我的SQL Server表中,我看到它是这样的: 更新 id名称更改日期状态实际值 约翰2016-05-10 00:00状态10 约翰2016-05-10 00:00状态2 1 1果冻2016-03-10 00:00状态3 1 安德鲁2016-01-10 00:00状态40 安德鲁2016-03-10 19:30状态2
更新
id名称更改日期状态实际值
约翰2016-05-10 00:00状态10
约翰2016-05-10 00:00状态2 1
1果冻2016-03-10 00:00状态3 1
安德鲁2016-01-10 00:00状态40
安德鲁2016-03-10 19:30状态2 1
3 Kozh 2016-03-10 19:30状态1
4 Ars 2016-03-10 19:30状态1
2016年3月5日19:30状态10
2016年03月10日19:30状态2 1 当我显示页面时,我只看到前两行 我的代码:
<asp:ListView ID="ListView2" ItemType="DocCat.Models.ReqInf" SelectMethod="GetData
DataKeyNames="ID" EnableViewState="false" runat="server" visible="true"
UpdateMethod="ListView2_UpdateItem" >
<LayoutTemplate>
<div class="outerContainer">
<table id="docTable">
<tr>
<th>ID</th>
<th>Name</th>
<th>ChangeStatus</th>
<th>Change Date</th>
</tr>
<tr runat="server" id="itemPlaceholder"></tr>
</table>
</div>
</LayoutTemplate>
<ItemTemplate >
<tr>
<td><%# Item.ID %></td>
<td><%# Item.F1%></td>
<td><%# Item.ChangeS %></td>
<td><%# Item.ChangeD %></td></tr>
</ItemTemplate>
</asp:ListView>
一天后,我明白我的问题不在代码中。
我有一个列ID,EF会像键属性一样自动识别它。但是,密钥必须是唯一的,我:
- 重命名的ID列
- 将[Key]属性添加到唯一属性中(
ChangeDate
在我的例子中)
我在模型中添加的代码:
using System.ComponentModel.DataAnnotations;
namespace Project.Models
{
public class BaseClass
{
[Key]
public DateTime ChangeDate { get; set; }
...
如果您看到的是两行,那么listview的高度太小,无法看到所有四行。最后两行不明显。可能您有一些逻辑只显示不同的行。如果可能的话,发布您的业务代码。@Vicky_认为当我更改我的行时,我需要保存它,并用不同的日期和状态创建另一行。我需要有日志,因为我需要看到所有具有相同id的行。@jdweng我有分页,我有超过4行,这只是样本@Ааааааааааааааааа。我觉得你贴的代码很好。能否将linq查询和绑定发布到listview?
public DbSet<ReqInf> ReqForDoc { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<ReqInf>().ToTable("ReqForDoc");
}
public IEnumerable<ReqInf> ReqForDoc
{
get { return context.ReqForDoc; }
}
using System.ComponentModel.DataAnnotations;
namespace Project.Models
{
public class BaseClass
{
[Key]
public DateTime ChangeDate { get; set; }
...