Характеристики на редактиране на стойности от произволен тип в поле на таблица
В някои случаи се изисква да се организира въвеждането на данни от произволен тип в колоните на таблично поле. Освен това типът данни, които ще бъдат въведени в колоната на полето на таблицата, не е предварително известен. Да предположим например, че искате да създадете формуляр за избор, който ви позволява да избирате стойности от произволен тип. Освен това типът на избраната стойност не е известен предварително и се избира от предварително формиран списък с налични типове. Избраните стойности трябва да бъдат поставени в таблицата със стойности. За да разрешите този проблем, трябва да можете да изберете тип от списъка с налични типове и въз основа на избрания тип да промените динамично типа на редактираната стойност в контролата, разположена в колоната на полето на таблицата, което показва избраната стойност. Характеристика на контролите, разположени в колоните на таблично поле, е, че типът на редактираната стойност може да се променя само за колоните на табличното поле, които не са свързани с данни. Следователно изпълнението на тази задача има някои характеристики.
Нека има форма за избор, съдържаща таблично поле, състоящо се от две колони: колона Тип, съдържаща типа на избраната стойност, и колона Стойност, съдържаща стойността от посочения тип. Колоната Тип съдържа индекси в масив от налични типове, а колоната Стойност не е свързана с данни, тъй като контролата, разположена в тази колона, трябва да промени типа на редактираната стойност.
За да се изпълни тази задача, на първо място е необходимо да се формира масив от налични типове. За целта в модула формуляр се създава масив от налични типове, в който се поставят необходимите типове. В нашия случай това е Number, String, Date, Boolean и връзки към директории и документи. Въз основа на формирания масив в управляващия елемент на колоната Тип на табличното поле Списък се формира списъкстойности, които съдържат индексите на типовете в масива от налични типове. Също така към таблицата със стойности се добавя специална колона - Стойност, която ще съхранява стойността на избрания тип.
В манипулатора на събитие OnChange на контролата, разположена в колоната Тип, избраният тип е зададен на контролата (в нашия случай това е полето за въвеждане) в колоната Стойност.
Когато избирате стойност в колоната Стойност, получената стойност трябва да се запише в таблицата със стойности, т.к. тази колона не е свързана с данни. За целта се използва и манипулаторът на събитието на полето за въвеждане OnChange, разположено в колоната Value на полето на таблицата.
И накрая, за да могат избраните стойности да бъдат правилно показани в полето на таблицата, трябва да използвате манипулатора на събития WhenOutputingRows, в който текстът за избрания тип и стойност.