3,244
社区成员




<Eq>
<FieldRef Name='_ModerationStatus' />
<Value Type='ModStat'>0</Value>
</Eq>
SPList list = web.Lists["List"];
SPQuery query = new SPQuery();
query.Query = "<Where><Eq><FieldRef Name='_ModerationStatus'/><Value Type='Text'>Pending</Value></Eq></Where>";
SPListItemCollection items = list.GetItems(query);
foreach (SPListItem item in items)
{
Console.WriteLine(item["_ModerationStatus"]);
}
Console.ReadKey();
public static SPQuery GetQuery(uint rowLimit, SPList list)
{
SPQuery query = new SPQuery();
query.Query = string.Empty;
string queryIsShow = string.Empty;
string queryModerationStatus = string.Empty;
StringBuilder sb = new StringBuilder();
if (list.Fields.ContainsField(ZhongsoftConfig.List_Isshow))
{
queryIsShow = string.Format(@"<Eq>
<FieldRef Name='{0}' />
<Value Type='Boolean'>1</Value>
</Eq>", ZhongsoftConfig.List_Isshow);
}
if (list.Fields.ContainsField(ZhongsoftConfig.ModerationStatus))
{
queryModerationStatus = string.Format(@"<Eq>
<FieldRef Name='{0}' />
<Value Type='ModStat'>0</Value>
</Eq>", ZhongsoftConfig.ModerationStatus);
}
if (!string.IsNullOrEmpty(queryIsShow) && !string.IsNullOrEmpty(queryModerationStatus))
{
sb.Append(string.Format(@" <Where>
<And>
{0}
{1}
</And>
</Where>", queryIsShow, queryModerationStatus));
}
else if (!(string.IsNullOrEmpty(queryIsShow) && string.IsNullOrEmpty(queryModerationStatus)))
{
sb.Append(string.Format(@" <Where>
{0}
</Where>", queryIsShow));
}
sb.Append("<OrderBy>");
if (list.Fields.ContainsField(ZhongsoftConfig.List_PictureSort))
{
sb.Append(string.Format("<FieldRef Name='{0}' Ascending='True' />", ZhongsoftConfig.List_PictureSort));
}
if (list.Fields.ContainsField(ZhongsoftConfig.ItemCreateTime))
{
sb.Append(string.Format("<FieldRef Name='{0}' Ascending='False' />", ZhongsoftConfig.ItemCreateTime));
}
if (list.Fields.ContainsField(ZhongsoftConfig.List_IsTop))
{
sb.Append(string.Format("<FieldRef Name='{0}' Ascending='False' />", ZhongsoftConfig.List_IsTop));
}
if (list.Fields.ContainsField(ZhongsoftConfig.IsFeatured))
{
sb.Append(string.Format("<FieldRef Name='{0}' Ascending='False' />", ZhongsoftConfig.IsFeatured));
}
if (list.Fields.ContainsField(ZhongsoftConfig.List_Created))
{
sb.Append(string.Format("<FieldRef Name='{0}' Ascending='False' />", ZhongsoftConfig.List_Created));
}
if (list.Fields.ContainsField(ZhongsoftConfig.DiscusBody))
{
sb.Append(string.Format("<FieldRef Name='{0}' Ascending='False' />", ZhongsoftConfig.DiscusBody));
}
if (list.Fields.ContainsField(ZhongsoftConfig.Author))
{
sb.Append(string.Format("<FieldRef Name='{0}' Ascending='False' />", ZhongsoftConfig.Author));
}
if (list.Fields.ContainsField(ZhongsoftConfig.Modified))
{
sb.Append(string.Format("<FieldRef Name='{0}' Ascending='False' />", ZhongsoftConfig.Modified));
}
if (list.Fields.ContainsField(ZhongsoftConfig.Editor))
{
sb.Append(string.Format("<FieldRef Name='{0}' Ascending='False' />", ZhongsoftConfig.Editor));
}
if (list.Fields.ContainsField(ZhongsoftConfig.IsFeatured))
{
sb.Append(string.Format("<FieldRef Name='{0}' Ascending='False' />", ZhongsoftConfig.ParentFolderId));
}
sb.Append("<FieldRef Name='Created' Ascending='False' /></OrderBy>");
query.Query = sb.ToString();
if (rowLimit > 0)
{
query.RowLimit = rowLimit;
}
return query;
}
webpart
private void AddItemsToTable(DataTable dataTable, string list)
{
SPList listVar = SPContext.Current.Web.Lists[list];
SPListItemCollection items = listVar.GetItems(SPCacheFactory.GetQuery(list,0));// 没有权限和有权限的人获取的数据不一样
foreach (SPListItem item in items)
{
string id = Convert.ToString(item["ID"]);
DataRow dr = dataTable.NewRow();
dr["ListName"] = list;
dr[ZhongsoftConfig.List_Title] = item[ZhongsoftConfig.List_Title];
dr[ZhongsoftConfig.ItemCreateTime] = item[ZhongsoftConfig.ItemCreateTime];
dr["ID"] = id;
dataTable.Rows.Add(dr);
}
}