в событии grdDataOnGetCellDrawInfo
если на гриде добавить колонку, выдает ошибку
var DataFieldValue = dgvAll.Items(Column).DataField.Value

ошибка: поле не активно

Нравится

8 комментариев

Здравствуйте.

Установите в sq для данного поля признак "всегда выбирать в запросе".
Либо, можно воспользоваться функцией

var DataFieldValue = GetFieldValueFromDisabledField(Dataset, dgvAll.Items(Column).DataField.Name);

но нужно будет получить Dataset с RecordsCount = 1.

1. признак - прийдется всем полям поставить?
2. Dataset с RecordsCount = 1 - т.е. для грида не подходит?

1. Да, для всех, которые планируете вытягивать в реестр.
2. Проверьте отладчиком в скрипте окна реестра на этом событии dlData.Dataset.RecordsCount = 1? Если да - тогда второй вариант подойдет.

в большинстве случаев на гриде больше 1 записи.
а кроме 1го варианта есть другие?

Попробуйте, все-таки второй вариант. Дело в том, что скорее всего эта функция выполняется снова и снова для каждой записи, которая подгружается в реестр.

проверил еще раз, сколько записей на гриде столько выдает и dlData.Dataset.RecordsCount

Добрый день!
Вариант с
var DataFieldValue = GetFieldValueFromDisabledField(Dataset, dgvAll.Items(Column).DataField.Name);

должен отработать корректно. Попробуйте.

спасибо. ошибки нет

Показать все комментарии