Указывает источник данных, с которым связан элемент управления "решетка" (Grid). Доступно в design time; редактируемое в run time.

Grid.RecordSource[ = cName]

Expand imageВозвращаемое значение

cName

cName обычно представляет собой псевдоимя курсора или имя таблицы. Свойство RecordSource определяет общий курсор, с которым связан элемент управления Grid.

Expand imageПримечания

Применяется к: Grid

Если вы указали источник записи для решетки, то вы можете указать, с чем будет связана и что будет содержать индивидуальная колонка в решетке с помощью установки значения для свойства ControlSource. Если вы не указали явно значения для свойства ControlSource колонки решетки, то колонка будет отображать содержание следующего доступного (то есть еще не привязанного к другим колонкам) поля, которое еще до этого нигде в решетке не отображалось. Для получения более подробной информации смотрите Свойство ControlSource.

При работе с решетками, вам может иногда понадобиться изменить значение свойства RecordSource или выполнить многократно новую выборку в связанный с решеткой курсор. Так как новый источник данных может иметь совершенно иную структуру, по сравнению с предыдущим, Visual FoxPro сбрасывает установки колонок, такие как ширина и шрифт в их используемые по умолчанию значения. Когда вы желаете сохранить эти установки для отображения содержания следующего источника данных, например, в сценариях, когда новый источник записи имеет туже самую структуру, что и предыдущий, вы можете использовать функцию SPACE() для временной установки значения свойства RecordSource в SPACE(0).

ЗамечаниеЗамечание

Использование SPACE(0) может не сохранить все желаемые вами установки свойств решетки. Вам может потребоваться сброс некоторых установок в коде, после установки свойства RecordSource.

Приведенный ниже пример использует таблицу Customers из образцовой базы данных Northwind, размещенной в каталоге Visual FoxPro directory ..\Samples\Northwind\ и показывает, как сохранить предыдущие установки:

  CopyCode imageСкопировать код
PUBLIC oForm
oForm=NEWOBJECT("MyForm")
oForm.Show()

DEFINE CLASS MyForm AS Form
    ADD OBJECT oGrid1 AS Grid WITH RecordSource="MyCust",ColumnCount=3
    ADD OBJECT oButton1 AS CommandButton WITH TOP = 200

    PROCEDURE Load
      SELECT * FROM HOME()+"Samples\Northwind\Customers" ;
        WHERE Country="France" INTO CURSOR MyCust

    PROCEDURE Init
        THISFORM.oGrid1.Column1.Width = 50
        THISFORM.oGrid1.Column1.FontSize=14
        THISFORM.oGrid1.Column2.Width = 50
        THISFORM.oGrid1.Column3.Width = 50

    PROCEDURE oButton1.Click
        THISFORM.oGrid1.RecordSource = SPACE(0)
        SELECT * FROM HOME()+"Samples\Northwind\Customers" ;
           WHERE Country="France" INTO CURSOR MyCust
           THISFORM.oGrid1.RecordSource = "MyCust"
   
ENDDEFINE

Expand image Смотрите также