博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

WebPart开发手记1

Posted on 2005-04-21 22:07    阅读(1174)  评论(0)    收藏  举报

今天读了dudu对AreaCollection中的元素进行排序—SharePoint新闻列表WebPart开发手记 受益匪浅 特与大家分享

网址:http://www.cnblogs.com/dudu/archive/2005/02/25/109317.html






protected
 override void RenderWebPart(HtmlTextWriter output)
        
{
            Guid guid 
= AreaManager.GetSystemAreaGuid(PortalContext.Current,SystemArea.News);
            Area area 
= AreaManager.GetArea(PortalContext.Current,guid);
            AreaCollection areas 
= area.Areas;
            
            ArrayList al 
= new ArrayList();
            
for(uint i=0;i<areas.Count;i++)
            
{
                al.Add(areas[i]);
            }

            al.Sort(
new AreaComparer());
            output.RenderBeginTag(HtmlTextWriterTag.Table);
            
for(int i=0;i<al.Count;i++)
            
{
                output.RenderBeginTag(HtmlTextWriterTag.Tr);
                output.RenderBeginTag(HtmlTextWriterTag.Td);
                output.Write(((Area)al[i]).Title
+((Area)al[i]).Order);
                output.RenderEndTag();
                output.RenderEndTag();
            }

            output.RenderEndTag();
        }


        
public class AreaComparer : IComparer
        
{
            
public int Compare(Object x, Object y)
            
{
                
if(((Area)x).Order < ((Area)y).Order)
                
{
                    
return -1;
                }

                
return 1;
            }


        }



Remarks

The caller must have PortalRight.ViewArea and PortalRight.ViewPages permissions to perform this operation.