Изменение «Создано» в Sharepoint 2007 - PullRequest
3 голосов
/ 21 марта 2011

Я бы хотел, чтобы пользователь мог изменить значение «созданный» при создании элемента в списке sharepoint. Кажется, по умолчанию скрывается это значение и автоматически заполняется текущий пользователь. Я хотел бы предоставить пользователю эту опцию при создании или изменении элемента и предварительно заполнить его текущим пользователем, но также дать пользователю возможность изменить это поле.

У кого-нибудь есть предложения или кто может указать мне правильное направление?

Большое спасибо

Ответы [ 2 ]

8 голосов
/ 22 марта 2011

Внутреннее имя в столбце «Создано» - Автор.

Напишите ItemEventReceiver и переопределите метод ItemUpdated:

//USER_NAME is user account name that you want to set.

public override void ItemUpdated(SPItemEventProperties properties) { 
    SPSecurity.RunWithElevatedPrivileges(delegate   
    {     
        using (SPWeb web = properties.OpenWeb())     
        {
            web.AllowUnsafeUpdates = true;

            // Insert any other updates here

            SPUser spUser = web.EnsureUser("USER_NAME");
            string strUserId = spUser.ID + ";#" + spUser.Name;
            spListItem["Author"] = strUserId;
            spListItem.Update();

            // if you do not want to change the Modified or Modified By fields,
            // use spListItem.SystemUpdate() instead

        }
    });
}

РЕДАКТИРОВАТЬ: обновленный код; удалено итеративное обновление.

0 голосов
/ 23 марта 2011

Спасибо, ребята, но я должен был упомянуть, что я не использую какой-либо код для этого.

Мое решение состояло в том, чтобы переименовать поле Created By в Created By ((не используется) , создал новое поле Created By и использовал некоторый пользовательский Javascript для заполнения поля при загрузке страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...