Krzysztof
Maraszkiewicz
C#, PHP,
Objective-C, Xcode,
JS, JQuery, MySQL,
CakePHP, ...
Temat: Problem z zapytaniem CAML na unikatowa wartosc
Mozecie mi napisac co jest nie tak z ponizyszym event handlerem.Ogolnie koncepcja jest taka, ze uzytkownik nie moze wprowadzic dwa razy tego samej wartosci dla odpowiedniej kolumny.
Problem polega na tym ze co bym nie wpisal wyskakuje mi blad. Najdziwniejsze jest to ze zapytanie posiada tyle wierszy co elementow w liscie.
const string _QUERY = "<Query><Where><Eq><FieldRef Name='Name' /><Value Type='Text'>{0}</Value></Eq></Where></Query>";
public override void ItemUpdating(SPItemEventProperties properties)
{
isUnique(properties);
}
public string isUnique(SPItemEventProperties properties)
{
String err = "1";
if (properties.AfterProperties["Name"] != null)
{
err = "2";
string currentValue = properties.AfterProperties["Name"].ToString();
using (SPWeb web = properties.OpenWeb())
{
err = "3";
//get the current list
SPList list = web.Lists[properties.ListId];
SPQuery _query = new SPQuery();
_query.Query = string.Format(_QUERY, currentValue);
SPListItemCollection itemsWithSameValue = list.GetItems(_query);
err = "4";
if (itemsWithSameValue.Count > 0)
{
string err = 'Wpisana nazwa juz istnieje, prosze wprowadzic inna nazwe';
properties.Cancel = true;
properties.ErrorMessage = err;
}
else
{
err = "6";
}
}
}
else
{
err = "7";
}
return err;
}
}
Za wszelka pomoc z gory dziekuje.Krzysztof Maraszkiewicz edytował(a) ten post dnia 09.08.10 o godzinie 16:53