Glossary in Sharepoint 2010 without Designer access

acdlabs used Ask the Experts™

An expert was kind enough to provide me details of how to create a Glossary in Sharepoint and had advised I create a page with a list view and a Content Editor web part and to set the list view webpart to point to the glossary list and set a filter of "Letter - is equal to - {Letter}".

As I'm quite new to SP, please forgive me as I'm slow... I assumed that with the "page with a list view", it means I work off of my original glossary list of words.  I was able to add a content webpart and used <a href="siteName/SitePages/Glossary.aspx?Letter=A">A</a> and so on.

I previously already had a column named Letter with the Left formula to pull the initial so based on the instructions, I created a view called filter in my Glossary list and selected the "Letter" column, drop down to "is equal to", and wrote "[Letter]".

The list defaults at empty and remains empty when I click on a letter.  I'm sure I'm missing something but not sure as to what.

Also, it appears as if the whole page reloads every time a link is clicked on.  Is there a way to only have the glossary list refresh and not the rest of the page?

Can someone please advise as to what I'm doing wrong?
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Most Valuable Expert 2011
Awarded 2010


I think that expert was me, in another user's question. You need to use curly braces in the filter.

Letter is equal to {Letter} -- see screenshot. Square brackets will refer to a column name. Curly braces will refer to a URL query parameter.

Yes, the whole page will refresh with that technique. You could use filter web parts, but they would also refresh the whole page. If you need only the list view web part to refresh, that would be a lot more complex, involving javascript, and even then I'm not sure it can be done without a page refresh.

cheers, teylyn


Thanks, Teylyn.  I was hoping you'd be able to assist further :)

I attempted the squigglies {Letter} first, then changed it to the [Letter] when it didn't work.  Ichanged the view of my actual list to Filter and it went blank.  when I changed the view to all items, it doesn't filter.

I basically added a content webpart on top of my existing glossary list.  was I supposed to do something different?

I did notice a difference between what you posted and what I did - my urls say<a href="siteName/SitePages/Glossary/Filter.aspx?Letter=A">.  I tried to remove the Filter1 to just reflect Glossary.aspx?Letter=A but it leads to an error message.

Would you be able to assist?

Thanks for your help thus far.
Most Valuable Expert 2011
Awarded 2010

Let me try to unravel this.

There's a Glossary list with three columns: Title, Description, Letter. Letter is a calculated column with the formula =Left(Title, 1).  Let's assume that users working with the Glossary will not go to the list directly, but will see the glossary on a different page.  This is my preferred approach, since the filter technique requires two web parts and the list view functionality suffers when web parts are added to a list view page.

Next step is to build the page that the end user will see. This page can be a web part page or a wiki page. Does not matter, as long as there are two web parts on the page. Let's assume the page is in the SitePages library  and is called Glossary.aspx

Add two web parts to this page.

First, a Content Editor Web Part. Enter the letters A to Z into the web part body, separated by spaces or line breaks. Select each letter and add a link. The link points to the same page, i.e. Glossary.aspx, but it also has the query parameter for the letter. The full link for the letter A is


In HTML view, the link will look like

<a href="http://SiteName/SitePages/Glossary.aspx?Letter=A">A</a>

Open in new window

Second, add a list view web part to the page. Point it to the glossary list. Edit the list view web part and modify the view. Set the filter values as in the screenshot in my previous post.

Save the page.

If you just browse to http://SiteName/LibraryName/Glossary.aspx, the list view will not show any items, because there is no query parameter called "Letter" in the URL. Click on one of the links in the Content Editor Web Part and the URL will change to http://SiteName/LibraryName/Glossary.aspx?Letter=A (or similar) and the list view will show only the items that begin with that letter.

When you create a link to this page, for example from an intranet portal page or the QuickLaunch, you will want to include the query parameter and provide a default value, for e.g. ?Letter=A,  so the user will never see an empty glossary list.

cheers, teylyn
Angular Fundamentals

Learn the fundamentals of Angular 2, a JavaScript framework for developing dynamic single page applications.


I'm sorry Teylyn, I'm proving to be quite dense with this. LEt me walk you through what I've done and hopefully you can pinpoint what I'm doing wrong.

I created a list called Glossary with my 3 columns, the third one named Letter which pulls the first letter of each word based on the LEft formula.  I created a view called Filter with url  The only changes I made from allitems view is the "Show items only when the following is true: Show the items when column" drop down to "Letter", drop down to  "is equal to" and wrote "{Letter}".

I created a separate page called "Glosstest" and added a Content Editor Web Part and a web part which pulls the Glossary . On the Glossary web part, I edited the web part to select the drop down Filter view and saved.  On the CEWP, I clicked on the box, clicked on the HTML icon ion the MArkup ribbon, and entered the following code:

<a href="/LoB/PC/People/Pages/Glosstest.aspx?Letter=A">A</a>
<a href="/LoB/PC/People/Pages/Glosstest.aspx?Letter=B">B</a>
<a href="/LoB/PC/People/Pages/Glosstest.aspx?Letter=C">C</a>
<a href="/LoB/PC/People/Pages/Glosstest.aspx?Letter=D">D</a>
<a href="/LoB/PC/People/Pages/Glosstest.aspx?Letter=E">E</a> and so on....

I stopped editing and clicked on A on the CEWP.  the Glossary web part still shows blank.

Can you please advise what I'm doing incorrect?

Many thanks.
Most Valuable Expert 2011
Awarded 2010

Have you tried this on a web part page, and NOT a view in the list?
Most Valuable Expert 2011
Awarded 2010
I just had a closer look at the page I have on our intranet. I did this over a year ago, so I've forgotten a few things. Sorry to have sent you on a wild goose chase, but the method I described above involves changing the List View Web Part with SharePoint Designer and creating a query parameter and a filter.

But you can do this without SharePoint Designer, too.

Create a page, add the two web parts, (Content Editor with the links, using the ?Letter=A, List view web part for the Glossary list). Do not filter the list view web part.

Instead, edit the page and add another web part to it. Select from the Filter Web Parts and add a Query String (URL) Filter web part. Configure the web part:

Filter Name = QueryString
Query String Parameter Name = Letter
Default Value = A

Apply this. Then select the Glossary List View Web part and set up a connection:

Connections > Get Filter Values from > Query String (URL) Filter
Provider Field Name = QueryString
Consumer Field Name = Letter

Save the page. The Query String filter web part will read the query string parameter "Letter" value and pass it to the list view as a filter.

Sorry for the confusion. Hope you can get this to work. Filter web parts are included with the Enterprise license of SharePoint Server.

If you don't have the enterprise version (i.e. don't have filter web parts), and you cannot use SharePoint Designer, you may need to create a view for each letter and set individual list view filters in the view definition.

cheers, teylyn


thanks for your help teylyn - much appreciated!


Quick response; amazing help!

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial