SharePoint 2010 - 需要建议

时间:2012-12-27 04:30:56

标签: sharepoint sharepoint-2010

我有一个如下所述的数据表

WorkWeek Person1 Person2 
WW1      X       Y
WW2      Z       A
WW3      X       Z

A,X,Y& Z是sharepoint组的成员。 要求我想显示像这样的webpart

WW1
Image1       Image2
X            Y

下周,webpart应该动态更新。

WW2
Image3      Image4
Z           A

如果可能的话,如果可能,那么请建议如何实现这一目标。

2 个答案:

答案 0 :(得分:0)

我可以为您提供一些可以帮助您完成此要求的逻辑。

根据您的要求,使用具有html的用户控件创建一个Visual Web部件,

要从数据表中获取数据,请使用代码从数据表中读取数据

如果要显示第一周的数据,请创建一个变量并对其进行维护以识别从数据表中获取的周序列。

首次访问数据表时,请将此varibale设置为您的年份周数。

使用此变量(如IF变量)读取数据表的条件为null,然后将其指定为年份的第no周。

下次来到这个逻辑时检查这个变量如果变量小于一周没有当前的一年中没有一年,那么最后拿数据表+ 1表示数据表2等等 ..

抱歉英语不好

variable : one for DaasheetNo, WeekNo,CurrentWeekNo

assign datasheetNo = Sheet1

If(WeekNo== Null)
{
first time getdata from DaasheetNo (First Sheet)
}
else if(WeekNo < CurrentWeekNo)
{
Get data from datasheetNo +1
}

希望它可以帮到你

答案 1 :(得分:0)

这称为SharePoint中的每周更新Webpart。

我的想法:

您可以将一个CurrentDate值设置为DateTime.Today到Current Web properties.also再设置WorkWeek用户的一个属性。现在检查

         SPWeb web = SPContext.Current.Web;
         if (string.isnullorEmpty(web.Properties["CurrentDate"]))
            {
                 web.Properties["CurrentDate"] = DateTime.Today.Tostring();
                 // do the stuff for displying data.
            }
        else 
          {
             if(IFChangeNeeded())
              {
                 // do the stuff for displying data.
              }
            else
              {
                 web.Properties["CurrentDate"] = DateTime.Today.Tostring();
                 // do the stuff for displying data.

            }
         }

IfChangeNeeded()是返回bool值的函数。此功能检查员工本周需要更改。

      public bool IFChangeNeeded()
      {
           DateTime PropDate = Convert.ToDateTime(web.Properties["CurrentDate"]);
           DateTime TDate = DateTime.Today;

           if(WeekNo(TDate) == WeekNo(PropDate)) // WeekNo is function return weekno from current date.
             {
                return true;

             }
           else
             {
                 return false;
             }
      }