惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
宝玉的分享
宝玉的分享
月光博客
月光博客
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
小众软件
小众软件
量子位
MongoDB | Blog
MongoDB | Blog
Blog — PlanetScale
Blog — PlanetScale
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - zz

关于c# 静态构造函数的说明 后绑定webservice, 下帖引用自他人 通过citrix client 打印label 标签 如何用正确的方法来写出质量好的软件的体会 [转帖]满分的项目管理 转载 -- Visual Basic.Net中的文件操作 一位买车高手的经验谈 绝对有收藏价值 [转贴 2007-03-27 11:16:10 ] 发表者: 不要复杂 转摘-ComponentArt WebUI3.0控件的使用方法 在德国买手表 转贴 - Dflying Chen @ joycode 微软公司昨天发布的三个与Office System 2007相关的软件和参考文档 我的电脑,我的文件夹都打不开了? 名言哪! sql 常用命令 how to show a dialog box that prompts you to either "Open it" or "Save it to disk"again? sps List中根据利用Today和birth字段,计算用户年龄 用户怎么无法登陆sps网站了? 再asp.net中实现sharepoint里面调用outlook address book的功能 我碰到的到现在为止,还没有找到比较好的解决方法的sps问题 download latest 20 SharePoint Portal Site theme
滚动显示sps站点中某个列表里面的内容的 webpart
zz · 2005-08-30 · via 博客园 - zz

利用marquee,滚动显示sps站点中的列表内容。
此webpart中有有四个参数:
Site URL:站点的url地址
ListName:列表的名字

using System;

using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;
using Microsoft.SharePoint.Portal.Topology ;
using Microsoft.SharePoint.Portal;
using Microsoft.SharePoint.Portal.SiteData;
using Microsoft.SharePoint.WebControls;

using System.Collections;

namespace Sharepoint.Adainat.MarqueeListings
{
    
/// <summary>
    
/// Summary description for MarqueeGroupedListings.
    
/// </summary>

    [DefaultProperty("Text"),
        ToolboxData(
"<{0}:MarqueeGroupedListings runat=server></{0}:MarqueeGroupedListings>"),
        XmlRoot(Namespace
="MarqueeListings")]
    
public class MarqueeGroupedListings : Microsoft.SharePoint.WebPartPages.WebPart
    
{
        
private const string siteURL = "";
        
private string _URL = siteURL;

        [Browsable(
true),Category("Marquee Options"),
        DefaultValue(siteURL),
        WebPartStorage(Storage.Personal),
        FriendlyName(
"Site URL"),Description("Site URL")]
        
public string URL
        
{
            
get
            
{
                
return _URL;
            }


            
set
            
{
                _URL 
= value;
            }

        }




        
private const string listname="Events";
        
private string _list=listname;
        [Browsable(
true),Category("Marquee Options"),
        DefaultValue(listname),
        WebPartStorage(Storage.Personal),
        FriendlyName(
"List Name"),Description("List Name")]
        
public string list
        
{
            
get
            
{
                
return _list;
            }


            
set
            
{
                _list 
= value;
            }

        }



        
private const string fieldname="Title";
        
private string _displayfieldname=fieldname;
        [Browsable(
true),Category("Marquee Options"),
        DefaultValue(fieldname),
        WebPartStorage(Storage.Personal),
        FriendlyName(
"Display Field Name"),Description("Display Field Name")]
        
public string displayfieldname
        
{
            
get
            
{
                
return _displayfieldname;
            }


            
set
            
{
                _displayfieldname 
= value;
            }

        }


        
private const string linkname="";
        
private string _hyperlinkname=linkname;
        [Browsable(
true),Category("Marquee Options"),
        DefaultValue(linkname),
        WebPartStorage(Storage.Personal),
        FriendlyName(
"Hyper link address"),Description("Hyper link address")]
        
public string hyperlinkname
        
{
            
get
            
{
                
return _hyperlinkname;
            }


            
set
            
{
                _hyperlinkname 
= value;
            }

        }


        
private const string marqparm="scrolldelay=350";
        
private string _marqeeparam=marqparm;
        [Browsable(
true),Category("Marquee Options"),
        DefaultValue(marqparm),
        WebPartStorage(Storage.Personal),
        FriendlyName(
"Marqee Parameters"),Description("Marqee Parameters")]
        
public string marqeeparam
        
{
            
get
            
{
                
return _marqeeparam;
            }


            
set
            
{
                _marqeeparam 
= value;
            }

        }


        
public override ToolPart[] GetToolParts()
        
{
            ToolPart[] toolparts 
= new ToolPart[3];
            WebPartToolPart wptp 
= new WebPartToolPart();
            CustomPropertyToolPart custom 
= new CustomPropertyToolPart();
            toolparts[
1= wptp;
            toolparts[
0= custom;
            toolparts[
2= new Copyright();
            
return toolparts;
        }


        
protected override void RenderWebPart(HtmlTextWriter output)
        
{
            
try
            
{
                SPList listings
=GetListings(this.URL.ToString());
                 
if (listings!=null)
                
{
                    
if (listings.Items.Count>0)
                    
{
                        
string str="";
                        
int counter=0;
                        ArrayList textArrayList 
= new ArrayList();
                        ArrayList linkArrayList 
= new ArrayList();
                        
//this is order the last one entered appears in the first
                        int TotalNewNUm=0;

                        
foreach (SPListItem li in listings.Items)
                        
{
                            textArrayList.Add (li[
this.displayfieldname].ToString());
                            linkArrayList.Add (
this.hyperlinkname+li.ID.ToString());
                            TotalNewNUm
++;
                                                            
                        }
//foreach
                        int i ;
                        
for(i=TotalNewNUm-1 ;i>=0  ;i--)
                        
{
                            str
+= "<a href=" + linkArrayList[i] + " target=_blank > <span style='font-family:verdana ; font-size: 8pt ;  height:10px; margin-bottom:3px; '>" + textArrayList[i] + "</span> </a>" ;                              
                            counter
++;
                            
if (i !=0)
                            
{
                                str
+=   "     " ;
                            }

                        }

                    
//<marquee id="scroll" scrollamount=1 scrolldelay=90 direction=up width=180 height=150
                     output.Write( " <marquee "+this.marqeeparam.ToString()+" >" + str + "</marquee>" );
                                     
                    }

                    
else
                    
{
                    output.WriteLine (
" There is No listings in this site  " + this.URL.ToString() + " !");
                    }

                }

                
else
                
{
                    output.Write (
"Wrong site URL address, Go back to the webpart properties to correct the site URL (e.g http://ServerName:port/)");
                }


            }

                    
            
catch (Exception e)
            
{
                output.Write (   
"Error Message : " + e.Message   );
                
            }

        }

        
private SPList GetListings(string url)
        
{
            SPSite siteCollection;
            SPWeb site ;

            
try
            
{
                
if (url=="")
                
{
                    siteCollection 
= SPControl.GetContextSite(Context); 
                    site 
= SPControl.GetContextWeb(Context);         
                }

                
else
                
{
                    siteCollection 
= new SPSite(url);
                    site 
= siteCollection.OpenWeb();
                }

            
                SPList list
=site.Lists[this.list];            
                
return list;
                
            }

            
catch (Exception)
            
{
                 
return null;
            }

        }
  

    }

}


Display Field Name:显示的列表字段的名字
Hyper Link address:超链接的地址
下面是源代码,各位可以参考参考.