piątek, 18 marca 2011

Sprawdzanie poprawności kolumny / Column validation

Sprawdzanie poprawności kolumny odbywa się za pomocą formuł. Musisz wejść do ustawień listy a następnie w sekcji "Kolumny" kliknąć na kolumnie dla której chcesz dodać sprawdzanie poprawności. Pojawi się formatka na której ostatnia sekcja to właśnie "Sprawdzanie poprawności kolumny" (Column validation):
Należy teraz wprowadzić formułę oraz komunikat dla użytkownika, który pojawi się gdy formuła nie będzie spełniona (zwróci wartość FALSE).

Formułę należy rozpocząć od znaku "=". W formule można odwołać się do wartości danego pola za pomocą nazwy kolumny, np:

=Title = "Założenie użytkownika"

Nie można natomiast odwoływać się do wartości innych pól. Jeżeli chcesz zbudować formułę walidującą, która będzie operowała na więcej niż jednej polu listy, musisz zrobić to w innym miejscu: w ustawieniach listy  w sekcji "Ustawienia ogólne" wybrać punkt "Ustawienia sprawdzania poprawności" (Validation settings).

Warto jeszcze zwrócić uwagę na składnię operatorów logicznych:

=OR(Title="Założenie użytkownika"; Title="Usunięcie użytkownika")

=AND([Cena towaru]>100; [Cena towaru]<1000)


środa, 9 marca 2011

Irytujący link "Dodaj nowy element" dla listy z kilkoma typami zawartości


Jeśli utworzyłeś listę w której występuje kilka typów zawartości (content types), to na pewno irytować Cię będzie fakt, że link "Dodaj nowy element" umieszczony pod listą umożliwia dodanie jedynie domyślnego typu zawartości. Zwłaszcza jeżeli wszystkie typy zawartości są równie ważne i żaden z nich powinien dominować nad pozostałymi. 


Posługując się właściwościami WebPart-a widoku listy można usunąć tego linka. Wystarczy ustawić właściwość Typ paska narzędzi na wartość "Brak paska narzędzi".


Mi jednak znacznie bardziej odpowiada ustawienie "Pokaż pasek narzędzi", wówczas bowiem użytkownik otrzymuje przyjazne menu, widoczne nad listą, którego pierwsza pozycja - Nowy, pozwala na wybór typu zawartości jaki chce utworzyć. Nie trzeba użerać się ze wstęgą ;)



Natomiast linka "Dodaj nowy element" trzeba się zdecydowanie pozbyć. W tym celu należy otworzyć listę w SharePoint Designer i wyedytować w trybie zaawansowanym widok listy All Items (lub inny jeśli go utworzyłeś).

Należy odszukać  tag "<asp:content” dla PlaceHolderMain i znaleźć zamykający go tag “</asp:content>”. Przed tagiem zamykającym dodaj poniższy skrypt:


<script type="text/javascript">
var ttnA = document.getElementsByTagName('A');
for (var j=0; j<ttnA.length; j++)
{
  if (ttnA[j].id == 'idHomePageNewItem')
  {
    ttnA[j].style.display='none';
    ttnA[j].previousSibling.previousSibling.style.display='none';
  }
}
</script>