2016-10-16 5 views
2

asp.net 웹 양식과 목록보기가 있습니다. linq을 사용하여 SQL Server 테이블에서 데이터를 가져 오려고합니다.listview의 모든 행을 표시하는 방법

그러나 결과를 볼 때 샘플 첫 번째 필드 (사람의 ID)가있는 행을 볼 수 없습니다.

어떻게 결과를 모두 표시 할 수 있습니까? 내 SQL Server 테이블에서

나는 이런 식으로 참조 :

ID 이름 변경 날짜 상태 실제
0 존 2016년 5월 10일 0시 상태 1 0
0 존 업데이트 2016-05- 10 0시 STATUS2 1
1하십시오 Jel 2016년 3월 10일 0시 Status3 1
2 앤드류 2016년 1월 10일 0시 Status4 0
2 앤드류 2016년 3월 10일 19시 반 STATUS2 1
3 Kozh 2016-03-10 19:30 상태 1 1
4 아르스 2016년 3월 10일 19시 반 상태 1 1
5 Oser 2016년 3월 10일 19시 반 상태 1 0
5 Oser 2016년 3월 10일 19시 반 STATUS2 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> 

코드 :

public IEnumerable<ReqInf> GetReq() 
{ 
    IEnumerable<ReqInf> docsu = repository.ReqForDoc; 
return docsu.OrderBy(I => I.ID) 
} 

sp.Net 웹 양식, 엔티티 프레임 워크

UPDATE
RESULT :
1하십시오 Jel 2016년 3월 10일 0시 Status3 1
3 Kozh 2016년 3월 10일 19시 반 상태 1 1
4 개 아스 Oser 2016년 3월 10일 19시 반 STATUS2 1

UPDATE
2016년 3월 10일 19시 반 상태 1 1
5 나는 EFDB 컨텍스트를 사용합니다. 난 내 문제는 코드에없는 것을 이해 하루 후

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; } 
     } 
+0

두 행이 표시되면 listview의 높이가 너무 작아서 볼 수 없습니다. 네 줄 모두. – jdweng

+0

마지막 두 행은 구분되지 않습니다. 고유 한 행만 표시하는 논리가있을 수 있습니다. 가능한 경우 귀하의 비즈니스 코드를 게시하십시오. –

+0

@Vicky_Thinking 내 행을 변경하면 저장하고 다른 날짜와 상태로 다른 행을 만들어야합니다. 나는 같은 ID를 가진 모든 행을 볼 필요가 있기 때문에 로그가 필요하다. –

답변

1

. 필자는 열 ID를 가지고 있으며 EF는이를 키 속성과 같이 자동으로 인식합니다.그러나, 키는 고유하고 있어야합니다 I :

  • 이름이 바뀐 ID 열
  • 추가 (내 경우에는 ChangeDate) 고유 재산에 [키] 특성

내 코드 추가 모델에서 :

using System.ComponentModel.DataAnnotations; 
namespace Project.Models 
     { 
      public class BaseClass 
      { 
       [Key] 
       public DateTime ChangeDate { get; set; } 
    ... 
관련 문제