Показать вычисляемые поля в новой и редактируемой форме списка SharePoint 2013 - PullRequest
0 голосов
/ 28 июня 2019

У меня есть список SharePoint с некоторыми столбцами. У меня есть следующий сценарий:

ColA: Test1, Test2, Test3
ColB: 0, 10, 55
ColC: 0, 12, 60, 1005 *

Col A - это выпадающий список. Col B и C - рассчитанные поля. В зависимости от значения, выбранного в ColA, значения ColB и ColC будут заполнены автоматически. Поскольку ColB и C являются столбцами вычисления, они отображаются как в списке, так и в форме отображения SharePoint. Я хочу, чтобы поля ColB и C отображались в режиме только для чтения в новой форме SharePoint и для пользователей. Я использую форму списка SharePoint, а не форму Infopath. Ищете предложения для достижения этой функциональности.

1 Ответ

0 голосов
/ 01 июля 2019

Вы можете использовать jquery для добавления ввода только для чтения, чтобы работать как столбец поиска.

Вот простой демонстрационный скрипт для вашей справки, вам нужно обновить логику обновления на основе вашей логики.

<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script type="text/javascript">
        $(function () {
            var lookupValue = $('input[title="TxTField"]').val();            
            $('table.ms-formtable').append('<tr id="LookupColumnTR"><td class="ms-formlabel" nowrap="true" valign="top"><h3 class="ms-standardheader"><nobr>LookupColumn</nobr></h3></td><td><input disabled="disabled" type="value" value="' + lookupValue + '" class="text_box" /></td></tr>');

            $('input[title="TxTField"]').change(function () {
                var lookupValue = $(this).val();
                $('table.ms-formtable tr#LookupColumnTR').remove();
                $('table.ms-formtable').append('<tr id="LookupColumnTR"><td class="ms-formlabel" nowrap="true" valign="top"><h3 class="ms-standardheader"><nobr>LookupColumn</nobr></h3></td><td><input disabled="disabled" type="value" value="' + lookupValue + '" class="text_box" /></td></tr>');
            })

        })
    </script>

enter image description here

...