Thursday, August 30, 2007

How to Get Discussion Board Data from Share point

Get the data of DiscussionCategory using SPQuery


Get the SpWeb

SPWeb web = SPContext.Current.Web;

using ( web = site.OpenWeb())
{

SPQuery query = new SPQuery();

discussionBoardUrl is the url which points to Discussion Board Exist

SPList list = web.GetListFromUrl(discussionBoardUrl);


Query the SpList to get Item Collection


string qLess = string.Empty;
qLess +=
" ";


query.Query = qLess;


SPListItemCollection listCollection = list.GetItems(query);
string subject = string.Empty;
string category = string.Empty;
litDiscussion.ID = "discussionBoard";

Loop with Each ITem In List Collection

string html = "";

ArrayList arrCategory = new ArrayList();
foreach (SPListItem listItem in listCollection)
{
string lcategory = listItem.GetFormattedValue("DiscussionCategory");
if (arrCategory != null && listCollection.Count > 0 && !arrCategory.Contains(lcategory.ToLower().Trim()))
arrCategory.Add(lcategory.Trim());

}


html = "

";
html += "";


int count = 0;

for (int k = 0; k < arrCategory.Count; k++ )
{
category = arrCategory[k].ToString() ;
html += "

";


foreach (SPListItem listItem in listCollection)
{
string lcategory = listItem.GetFormattedValue("DiscussionCategory");

Arranging Category under that Discussion topics

if (arrCategory[k].ToString().ToLower().Trim() == lcategory.ToLower().Trim())
{
count = count + 1;
string last = listItem.GetFormattedValue("Last Updated");
subject = listItem.GetFormattedValue("Subject");
html += "

";


}

if (count >= displayCount)
{
break;
}
}
html += "";
if (count >= displayCount)
{
break;
}
}
html += "

Discussion Board

" + category + "

> " + subject + "
";
litDiscussion.Text = html;

1 comment:

Anonymous said...

Bravo, very good idea