我在MOSS中创建了一个自定义的List来提交申请,里面慢慢会有很多数据
我现在想对这些数据做一些查询和分析,能不能自己开发一个Web Part来实现?
但是我现在完全摸不着头脑
因为list的结构存储在alllists中,内容存储在alluserdata中,并且进去看了很混乱
如果我来开发一个Web Part,那我怎么去取到我所需要的list的数据?
烦请大家指点!
谢谢!
------解决方案--------------------
可以自己开发webpart来查询数据,并返回到list中显示结果
用jquery来查询更方便,你到网上搜索SharePoint 2007 JavaScript Lib
------解决方案--------------------
通过List查找数据 而不是用SQL语句通过数据库查询
------解决方案--------------------
在sdk中看到这么一段
SPWeb mySite = SPContext.Current.Web;
SPListItemCollection listItems = mySite.Lists[TextBox1.Text].Items;
for (int i=0;i<listItems.Count;i++)
{
SPListItem item = listItems[i];
Response.Write(SPEncode.HtmlEncode(item["Title"].ToString()) + " : " +
SPEncode.HtmlEncode(item["Location"].ToString()) + " : " +
SPEncode.HtmlEncode(item["Begin"].ToString()) + " : " +
SPEncode.HtmlEncode(item["End"].ToString()) + "<BR>");
}
------解决方案--------------------
用CAML做查询就可以 参考SmartQuery
------解决方案--------------------
自己写啊,用CAML做查询。
工具U2U CAML Query Builder http://www.u2u.be/res/tools/camlquerybuilder.aspx
------解决方案--------------------
- C# code
web = SPContext.Current.Site.AllWebs[ViewState["WebID"].ToString()]; if (web.DoesUserHavePermissions(SPBasePermissions.ViewPages))//判断当前用户是否有权限查看 { SPList list = web.Lists["页面"]; //SPView view = list.Views["文章页面"]; DataTable dt = new DataTable(); dt.Columns.Add("title"); //dt.Columns.Add("content"); dt.Columns.Add("Date"); dt.Columns.Add("ID"); dt.Columns.Add("URL"); dt.Columns.Add("cjz");//创建人 SPSiteDataQuery query = new SPSiteDataQuery(); query.Lists = "<Lists ServerTemplate='850'/>"; query.Query = "<OrderBy><FieldRef Name='Created' Ascending='False' /></OrderBy>" + "<Where>" + "<And>" + "<And><Eq><FieldRef Name='_ModerationStatus' /><Value Type='Text'>已批准</Value></Eq>" + "<Eq><FieldRef Name='ContentType' /><Value Type='Text'>页面</Value></Eq></And>" + "<Neq><FieldRef Name='Title' /><Value Type='Text'>default</Value></Neq>" + "</And></Where>"; query.Webs = "<Webs Scope='Recursive' />"; query.ViewFields = "<FieldRef Name='Title' Nullable='TRUE' /><FieldRef Name='FileRef' Nullable='TRUE' /><FieldRef Name='ArticleByLine' /><FieldRef Name='Created' /><FieldRef Name='ID' /><FieldRef Name='ArticleStartDate' />"; DataTable siteData = web.GetSiteData(query); }