在将方法绑定到asp.net repeater之前,在sharepoint SPListItemCollection中写入条件语句
我的情况是这样的: 我有一个函数,返回一个值作为SPListItemCollection,并将此函数绑定到一个中继器。 我的问题是如何在返回值之前进行一些条件格式设置在将方法绑定到asp.net repeater之前,在sharepoint SPListItemCollection中写入条件语句,asp.net,sharepoint,sharepoint-2010,Asp.net,Sharepoint,Sharepoint 2010,我的情况是这样的: 我有一个函数,返回一个值作为SPListItemCollection,并将此函数绑定到一个中继器。 我的问题是如何在返回值之前进行一些条件格式设置 SPListItemCollection GetListItems() { SPWeb curWeb = SPContext.Current.Site.RootWeb; string siteUrl = SPContext.Current.Web.Url; SPListItemCollection curItems = GetDe
SPListItemCollection GetListItems()
{
SPWeb curWeb = SPContext.Current.Site.RootWeb;
string siteUrl = SPContext.Current.Web.Url;
SPListItemCollection curItems = GetDep(ListName, department);
// write condition here so that it checks if the item count is higher or
//lower than a specified number.
return curItems;
}
谢谢你的帮助。我不能100%确定你在回来之前想做什么。例如,如果只想检查resultItem.Count是否大于100,可以执行以下操作:
SPListItemCollection GetListItems()
{
SPWeb curWeb = SPContext.Current.Site.RootWeb;
string siteUrl = SPContext.Current.Web.Url;
SPListItemCollection curItems = GetDep(ListName, department);
if (curItems.Count > 100)
{
// change the items or do whatever you want. after that, return:
foreach(SPListItem item in curItems)
{
//format/change
}
return curItems;
}
// return, without any changes
return curItems;
}
试一下
SPListItemCollection GetListItems()
{
SPWeb curWeb = SPContext.Current.Site.RootWeb;
string siteUrl = SPContext.Current.Web.Url;
SPListItemCollection curItems = GetDep(ListName, department);
var itemsForDepartment = curItems.GetDataTable().Rows.Where(r => r["Department"] == department); // you can try to do this is caml too
if(itemsForDepartment.Count > itemCount) {
// insert the "show me more" link
}
var itemsForDepartment = itemsForDepartment.Take(itemCount);
// bind itemsForDepartment to a Repeater
return curItems;
}
我没有编译这段代码,所以您必须纠正一些语法错误 格式化是一个渲染问题,而不是用于渲染的数据。无论您是使用Sharepoint、XML还是数据表,这都无关紧要。你为什么提到Sharepoint?好吧,让我来解释一下。假设field Deparment包含来自同一部门(如IT、HR等)的10多个项目,我只想显示10个与查询匹配的项目,然后显示一条消息,说明还有更多项目要查看。这可以是一个链接,一旦你点击它,它就会重定向到列表。我希望这能更好地解释这一点。谢谢你之前的回答。嗨,麦,非常感谢你的回答。我很抱歉把它像这样零碎地放在一起,我认为这会很容易,但这是我的情况。我有列表,我想根据过滤部门显示项目。现在,用户必须指定要从特定部门查看的项目数量。如果用户指定10,则只显示10,并显示一个链接,该链接将发送用户查看整个列表。因此,这些项目显示在中继器中。我希望这能更好地解释我想要实现的目标。我假设您在用户界面上有一些控件,用于收集以下参数:department、要返回的最大项目数,假设它们是下拉列表,其中包含一些您可以在本问题范围之外预定义的值。让我更新上面的答案