请教Webpart中获取SharePoint的List值时为何加上此过滤条件不行? 望高手帮忙,谢谢

于之 2017-05-24 01:53:04
请教Webpart中获取SharePoint的List值时为何加上此过滤条件不行? 望高手帮忙,谢谢

我是用VS2010,创建Webpart, 获取SharePoint中的List中的值, 因为List中的值有许久以前的记录,我想在此加上过滤条件,避免读取时读太多的记录

我用了一个方法来获取List中的数据.

public DataTable GetInfo()
{
DataTable dtInfo = new DataTable();
dtInfo.Columns.Add("A_Status");
dtInfo.Columns.Add("B_Status");
dtInfo.Columns.Add("txtusername");
dtInfo.Columns.Add("txtdatetime");

SPWeb web = SPContext.Current.Web;
SPList InfoList = web.Lists["Monitor_Status"];
SPQuery InfoQuery = new SPQuery();

InfoQuery.Query =
@"<where>
<Eq>
<FieldRef Name='A_Status' />
<Value Type='Text'>1</Value>
</Eq>
</where>";

SPListItemCollection InfoItems = InfoList.GetItems(InfoQuery);
foreach (SPListItem sp in CourseItems)
{
DataRow row = dtInfo.NewRow();
if (sp["A_tatus"].ToString() == "1")
{
row["A_Status"] = "正常";
}
else
{
row["A_Status"] = "异常";
}

if (sp["B_Status"].ToString() == "1")
{
row["B_Status"] = "正常";
}
else
{
row["B_Status"] = "异常";
}

if (sp["Txtdatetime"] != null)
{
row["txtdatetime"] = Convert.ToDateTime(sp

["Txtdatetime"].ToString()).ToString("yyyy-MM-dd");
}
else
{
row["txtdatetime"] = DBNull.Value;
}

if (sp["Txtusername"] != null)
{
row["txtusername"] = sp["Txtusername"].ToString();
}
else
{
row["txtusername"] = DBNull.Value;
}
dtInfo.Rows.Add(row);
}
return dtInfo;
}


但是上面的红色部分是我后来想加上的过滤条件,但是加上后却发现没有起作用,跟没加时一样,请哪位高手帮忙指点一下,谢谢。
...全文
221 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
于之 2017-06-09
  • 打赏
  • 举报
回复
这个问题我自已解决了,原来是我粗心少打了一个关闭符号 <FieldRef Name='A_Status' /> 却打成了<FieldRef Name='A_Status' > 就是这个"/" 害我弄了很久,不过,总算OK了,谢谢上面的朋友的关注。照样给分。
于之 2017-05-24
  • 打赏
  • 举报
回复
试过了加了<Query> 头节点也不行哦。
Justin-Liu 2017-05-24
  • 打赏
  • 举报
回复
<Query>加个这个头节点试试

3,242

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 SharePoint
社区管理员
  • SharePoint社区
  • 霖雨
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧