вторник, 20 ноября 2012 г.

Lookup колоноки как текст

Иногда приходиться показывать lookup колонки, по нажатию на которые SP любезно переводит нас в связный лист. Это не подходит для большинства проектов, поскольку необходима строгая логика переходов пользователя. И поэтому необходимо преобразовывать их в текст, дабы исключить эти ситуации.

Код:

// Removes link to lookup column
function RemoveLookupLinks()
{
 // Remove lookup column hyper link
 $(document).ready(function () {
  $('a[href*="RootFolder=*"]').each(function (index) {
   var link = $(this);
   $(this).after("<span>" + link.text() + "</span>");
   $(this).remove();
  });
 });
} 

Если вы надумаете использовать ListViewByQuery, то понадобиться вторая часть

// Removes link to user list from list view.
//listID : SPContext.Current.Web.SiteUserInfoList.ID.ToString().ToUpper()
function RemoveUserLinks(userInfoListID)
{
 // Remove SPUser Hyperlink
 $(document).ready(function () {
  $('a[href*="userdisp.aspx?ID="]').each(function (index) {
   var link = $(this);
   $(this).after("<span>" + link.text() + "</span>");
   $(this).remove();
  });
 });
 
 // Remove SPUser Hyperlink
 $(document).ready(function () {
  $('a[href*="ListId={' + userInfoListID + '}"]').each(function (index) {
   var link = $(this);
   $(this).after("<span>" + link.text() + "</span>");
   $(this).remove();
  });
 });
}
 
Вызов: (я использую WebPart`ы )
<script type="text/javascript">
    RemoveLookupLinks();
    RemoveUserLinks('<%=SPContext.Current.Web.SiteUserInfoList.ID.ToString().ToUpper()%>');
</script>

Комментариев нет:

Отправить комментарий