The SharePoint Server handles some things differently than you might know from standard C # programs.
I recently stumbled upon that I've tried to determine if a user group exists in SharePoint. I thought no problem and tried it with this code:
string nameOfGroupToCheck = "Test Group";
SPGroup group = spWeb.Groups[nameOfGroupToCheck];
if(group != null) {
...
}
I assumed that the variable group is null if the group is not present, but SharePoint throws an exception instead.
This does not happen with the following code snippet:
using System.Linq;
...
string nameOfGroupToCheck = "Test Group";
if (spWeb.Groups.OfType<SPGroup>().Where(g => g.Name == nameOfGroupToCheck).Count() > 0)
{
...
}
To get this code work correctly, you need to add the System.Linq namespace into your code.
By the way, this check also works with lists in SharePoint. You would only have to query the lists instead of the groups.
Showing posts with label Code Snippet. Show all posts
Showing posts with label Code Snippet. Show all posts
Tuesday, October 10, 2017
Friday, July 22, 2016
jQuery - Searching a multi-dimensional array
Last days ago, I had an issue to search multi-dimensional arrays in JavaScript / jQuery.
This post will give you a quick example how it works.
First we create an multi-dimensional array.
In my example we create an array for each employee...
var hansi = { firstName: "Hansi", lastName: "Hansen", wage: "2000" };
var paul = { firstName: "Paul", lastName: "Paulsen", wage: "1900" };
var otto = { firstName: "Otto", lastName: "Ottensen", wage: "1500" };
var thomas = { firstName: "Thomas", lastName: "Tomate", wage: "2500" };
...and then push them all together in another array. And here is our multi-dimensional array:
var employees = [hansi, paul, otto, thomas];
Now we want to search for an employee with the first name "Thomas", so we define a variable with the search term:
var searchValue = "Thomas";
Then we use the grep function from jQuery to search for the term "Thomas" in our multi-dimensional array:
var result = $.grep(employees, function (e) {
return e.firstName == searchValue;
});
Now we just need to check our results variable:
if (result.length == 0) {
alert('Error: ' + searchValue + ' not found');
} else if (result.length == 1) {
employee = result[0];
} else {
alert('Error: Multiple items found');
}
See the results:
Employee Details: First Name: Thomas / Last Name: Tomate / Wage: 2500
Here is the complete code again:
<!DOCTYPE html>
<head>
<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s=" crossorigin="anonymous"></script>
<script type="text/javascript">
$(document).ready(function() {
var hansi = { firstName: "Hansi", lastName: "Hansen", wage: "2000" };
var paul = { firstName: "Paul", lastName: "Paulsen", wage: "1900" };
var otto = { firstName: "Otto", lastName: "Ottensen", wage: "1500" };
var thomas = { firstName: "Thomas", lastName: "Tomate", wage: "2500" };
var employees = [hansi, paul, otto, thomas];
var searchValue = "Thomas";
var result = $.grep(employees, function (e) {
return e.firstName == searchValue;
});
if (result.length == 0) {
alert('Error: ' + searchValue + ' not found');
} else if (result.length == 1) {
employee = result[0];
} else {
alert('Error: Multiple items found');
}
document.write("Employee Details: ");
document.write("First Name: " + employee.firstName + " / ");
document.write("Last Name: " + employee.lastName + " / ");
document.write("Wage: " + employee.wage + " ");
});
</script>
</head>
<body>
</body>
</html>
This post will give you a quick example how it works.
First we create an multi-dimensional array.
In my example we create an array for each employee...
var hansi = { firstName: "Hansi", lastName: "Hansen", wage: "2000" };
var paul = { firstName: "Paul", lastName: "Paulsen", wage: "1900" };
var otto = { firstName: "Otto", lastName: "Ottensen", wage: "1500" };
var thomas = { firstName: "Thomas", lastName: "Tomate", wage: "2500" };
...and then push them all together in another array. And here is our multi-dimensional array:
var employees = [hansi, paul, otto, thomas];
Now we want to search for an employee with the first name "Thomas", so we define a variable with the search term:
var searchValue = "Thomas";
Then we use the grep function from jQuery to search for the term "Thomas" in our multi-dimensional array:
var result = $.grep(employees, function (e) {
return e.firstName == searchValue;
});
Now we just need to check our results variable:
if (result.length == 0) {
alert('Error: ' + searchValue + ' not found');
} else if (result.length == 1) {
employee = result[0];
} else {
alert('Error: Multiple items found');
}
See the results:
Employee Details: First Name: Thomas / Last Name: Tomate / Wage: 2500
Here is the complete code again:
<!DOCTYPE html>
<head>
<script src="https://code.jquery.com/jquery-3.1.0.min.js" integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s=" crossorigin="anonymous"></script>
<script type="text/javascript">
$(document).ready(function() {
var hansi = { firstName: "Hansi", lastName: "Hansen", wage: "2000" };
var paul = { firstName: "Paul", lastName: "Paulsen", wage: "1900" };
var otto = { firstName: "Otto", lastName: "Ottensen", wage: "1500" };
var thomas = { firstName: "Thomas", lastName: "Tomate", wage: "2500" };
var employees = [hansi, paul, otto, thomas];
var searchValue = "Thomas";
var result = $.grep(employees, function (e) {
return e.firstName == searchValue;
});
if (result.length == 0) {
alert('Error: ' + searchValue + ' not found');
} else if (result.length == 1) {
employee = result[0];
} else {
alert('Error: Multiple items found');
}
document.write("Employee Details: ");
document.write("First Name: " + employee.firstName + " / ");
document.write("Last Name: " + employee.lastName + " / ");
document.write("Wage: " + employee.wage + " ");
});
</script>
</head>
<body>
</body>
</html>
Labels:
Code Snippet,
grep,
JavaScript,
jQuery,
Tutorial
Friday, July 15, 2016
SQL Query - Get multiple row results in one column with XML and STUFF()
Today I want to show you, how you can put the results of an SQL query into one column.
First I create a temporarily table for our data and fill some data in it:
CREATE TABLE #table (product nvarchar(255))
INSERT INTO #table
SELECT 'product-1' as product
UNION
SELECT 'product-2' as product
UNION
SELECT 'product-3' as product
UNION
SELECT 'product-4' as product
Now we have our base table for our query. Here are the results of this table
Query:
select * from #table
Results:
product
product-1
product-2
product-3
product-4
Now we can see, we have 4 rows with our example products. Maybe we have a requirement to put all products in one row. This can be done by using the STUFF function and XML.
Here is the code:
select STUFF((SELECT distinct ',' + t.product
from #table t (nolock)
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'') as allProducts
Now the result of this query is this:
allProducts
product-1,product-2,product-3,product-4
Hope you enjoyed this lesson.
Labels:
Code Snippet,
SQL Server 2008,
SQL Server 2014 Express,
STUFF,
Transact SQL,
XML
Friday, June 24, 2016
SharePoint - JavaScript - Get parameter from current URL
Today, just one short code snippet to read out an URL parameter with the SharePoint JavaScript libraries:
GetUrlKeyValue(parameter, noDecode, url) is a JavasSript function which we can use to get a query string parameter either from url in the browser or a url we specify.
Example:
alert(GetUrlKeyValue('a', false, 'www.abc.com?a=te%20sting'));
The above statement will return the value ‘te sting’ from the url paramter a. Here we are specifying our own url.
alert(GetUrlKeyValue('a', false));
The above statement will look for a query string variable a in the browser url, and returns the decoded value.
alert(GetUrlKeyValue('a'));
The above statement will look for a query string variable a in the browser url.
GetUrlKeyValue(parameter, noDecode, url) is a JavasSript function which we can use to get a query string parameter either from url in the browser or a url we specify.
parameter (string): Query string parameter from the url.
noDecode (bool)(optional): Specifies whether the value has to be encoded or not. If false value is decoded, else returned as it is.
url (string)(optional): the url from which Query string values are to be retrieved.(Optional)
Example:
alert(GetUrlKeyValue('a', false, 'www.abc.com?a=te%20sting'));
The above statement will return the value ‘te sting’ from the url paramter a. Here we are specifying our own url.
alert(GetUrlKeyValue('a', false));
The above statement will look for a query string variable a in the browser url, and returns the decoded value.
alert(GetUrlKeyValue('a'));
The above statement will look for a query string variable a in the browser url.
Labels:
Code Snippet,
JavaScript,
SharePoint 2010,
Web Development
Thursday, June 23, 2016
Code Snippet - SQL - Replacing line breaks with SQL query
If you have line breaks in an SQL string field and you want to replace or remove them, you can use the following code (bold marked):
UPDATE details SET user_text = REPLACE(REPLACE(user_text, char(10), char(32)), char(13), char(32));
UPDATE details SET user_text = REPLACE(REPLACE(user_text, char(10), char(32)), char(13), char(32));
Subscribe to:
Posts (Atom)

