>  기사  >  백엔드 개발  >  GridView의 자동 스크롤 기능 구현

GridView의 자동 스크롤 기능 구현

零下一度
零下一度원래의
2017-06-24 09:17:463983검색

Introduction

최근 DevExpress 컨트롤을 사용하는 winform 프로젝트가 있어서 최근 이 컨트롤 세트의 사용을 탐색하고 있습니다. 전체 컨트롤 세트의 성능에 정말 감탄하고 코드도 작성하기 쉽습니다. 고객은 보고서 결과가 외부 대형 화면에서 정기적으로 스크롤될 수 있기를 바라는 요구 사항이 있습니다. 이 보고서에 사용하는 컨트롤은 쿼리 결과를 한 화면에 완전히 표시할 수 없습니다. 타이머를 추가하고 GridView가 자동으로 스크롤하여 다음 화면에 정보를 표시하는 시간을 지정합니다.

동료의 구현

그런데 동료가 구현한 코드를 보고 조금 불편함을 느꼈습니다. 그의 대략적인 코드는 다음과 같습니다:

/// <summary>/// 当前的行索引/// </summary>private int currentRowHandle = 0;
/// <summary></summary>
/// 总共含有的行
/// 
private int totalRowCount = 0;
/// <summary>/// 定时器定时事件/// </summary>private void timerScroll_Tick(object sender, EventArgs e)
{      if (currentRowHandle == totalRowCount)
          currentRowHandle = 0;      else  {
          currentRowHandle += 40;          if (currentRowHandle > totalRowCount)
              currentRowHandle = totalRowCount;
      }

      gridView1.FocusedRowHandle = currentRowHandle;
}

GridView의 자동 스크롤 기능을 구현하기 위해 코드에서는 2개의 필드를 도입하고 각 스크롤의 행 수를 40으로 하드 코딩합니다. 컨트롤의 크기가 조정되면 한 화면에 40행의 데이터를 표시할 수 없으며 일부 데이터가 전혀 표시되지 않을 수도 있습니다.

내 구현

DevExpress 매뉴얼을 참조하여 GridView는 이미 페이지 스크롤 효과를 얻기 위해 직접 사용할 수 있는 메서드를 제공하고 있으며 코드는 필드를 도입하지 않고도 여전히 간단하다는 것을 알았습니다. 개선된 코드는 다음과 같습니다.

/// <summary>/// 定时器定时事件/// </summary>/// <param>/// <param>private void timerScroll_Tick(object sender, EventArgs e)
{     if (gridView1.IsLastRow)
     {
          gridView1.MoveFirst();
     }     else {
          gridView1.MoveNextPage();
     }
}

드디어 테스트 결과를 보냅니다

GridView의 자동 스크롤 기능 구현

위 내용은 GridView의 자동 스크롤 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.