пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Класс CRecordView. Основные методы (конструктор, OnGetRecordSet, OnMove).

 

CWnd->      CView->CScrollView->CFormView->CRecordView

 

Объекты этого класса предоставляют для изображения записей БД в элементах управл-я форму, кот-я непосредственно соед-на с объектом CRecordset. Объекты CRecordView исп-т мех-м DDX (Dialog Data Exchange, Обмен данными с блоком диалога) и RFX (Record Field Exchange, Обмен полями записей) для автомат-го перемещения данных м/у элем-ми упр-я формы и полями результир-го набора. Кроме того, м.восп-ся реализованными возм-ми перемещ-я по записям и обновления текущей записи.

Вce компон-ты и методы этого класса м.разбить на три категории:

1)Создание объекта. Имеется только конструктор для создания объекта.

2)Атрибуты данных. Три функции, используемые для получения информации результирующем наборе, к которому присоединена форма.

3)Операции.Единственная  функция,  позволяющая программисту изменить указатель на текущую запись.

1)Создание объекта

В эту категорию входит только констр-р, имеющий две реализации.

 

CRecordView::CRecordView(LPCSTR  lpszTemplateName)

CRecordView::CRecordView(UINT  nIDTemplate)

 

Создает объект класса. В кач-ве парам-ра конструктор принимает идентификатор шаблона блока диалога, задаваемый либо строкой (lpszTemplateName), либо номером (nlDTemplate), При создании класса, производного от CRecordView, в нем можно определить только один конструктор, в котором необходимо  вызвать конструктор базового класса CRecordView::CRecordView с идентификатором ресурса в качестве параметра.

2)Атрибуты данных

Функции этой категории позволяют получить информацию о представлении записи

 

virtual  CRecordset*CRecordView::OnGetRecordset()

 

Возвращает указатель на объект CRecordset, ассоциированный с формой, позволяет тем  самым работать с некот-м результир-м набором. Чисто виртуальная функция, которая требует обязательного переопределения.

Фрагмент кода (AppWizard):

 

CRecordset* CDBView::OnGetRecordset()

зн eturn m_pSet    зн

BOOL CRecordView::IsOnFirstRecord( )

 

Позволяет определить, является ли текущая запись первой в результирующем наборе, ассоциированном с данной формой. BOOL CRecordView::IsOnLastRecord(  )

Позволяет определить, является ли текущая запись последней в результирующем наборе, ассоциированном с данной формой. 3)Операции

Имеется единственная функция, позволяющая программисту перемещаться по записям результирующего набора.

 

virtual  BOOL CRecordView::OnMove(UINT  nIDMoveCommand)

 

Позволяет изменять указ-ль на текущую запись (перемещаться no записям результирующего набора и отображать его поля в элементах управления формы).

Параметр nIDMoveCommand задает направление перемещения:

ID_RECORD_FiRST переход к первой строке в результир-м наборе

ID_RECORD_LAST переход к посл-й строке в результир-м наборе

ID_RECORD_NEXT переход к след-й строке в результир-м наборе

ID_RECORD_PREV переход к пред-й строке в результир-м наборе

Реализация этой функции по умолчанию обновляет текущую запись источника данных, если пользователь изменил ее в форме.


18.01.2020; 22:39
хиты: 55
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь