使用GirdView展现MOSS自定义列表
2008-10-30 22:20
447 查看
前台展现代码:
class DealProjectItems
1 using System;
2 using System.Collections;
3 using System.Configuration;
4 using System.Data;
5 using System.Data.SqlClient;
6 using System.Web;
7 using System.Web.Security;
8 using System.Web.UI;
9 using System.Web.UI.HtmlControls;
10 using System.Web.UI.WebControls;
11 using System.Web.UI.WebControls.WebParts;
12
13 using Microsoft.SharePoint;
14
15 namespace ProjectManager.MyUserControl.DealItems
16 {
17 public partial class DealProjectItems : System.Web.UI.UserControl
18 {
19 /// <summary>
20 /// 待批项目记录
21 /// </summary>
22 private DataTable DealItems;
23
24 protected void Page_Load(object sender, EventArgs e)
25 {
26 ///判断当前用户是否是项目总监和站点集管理员
27 if (SPContext.Current.Web.CurrentUser.IsSiteAdmin || this.IsMajordomo(SPContext.Current.Web.CurrentUser))
28 {
29 //显示待办项目
30 this.PanelDealProjectMain.Visible = true;
31 this.InitDealItemsColumns();
32 this.InitDealItemsData();
33 if (this.DealItems.Rows.Count > 0)
34 {
35 this.Lable_ProjectMessage.Visible = false;
36 this.GridViewDealProjectItems.DataSource = this.DealItems.DefaultView;
37 }
38 else
39 {
40 //显示提示信息
41 this.Lable_ProjectMessage.Visible = true;
42 }
43 this.GridViewDealProjectItems.DataBind();
44 }
45 else
46 {
47 //隐藏待办项目
48 this.PanelDealProjectMain.Visible = false;
49 }
50 }
51
52 /// <summary>
53 /// 初始化列
54 /// </summary>
55 private void InitDealItemsColumns()
56 {
57 if (this.DealItems == null)
58 {
59 this.DealItems = new DataTable();
60 this.DealItems.Columns.Add("ID");
61 this.DealItems.Columns.Add("项目名称");
62 this.DealItems.Columns.Add("项目编号");
63 this.DealItems.Columns.Add("行业");
64 this.DealItems.Columns.Add("项目类别");
65 this.DealItems.Columns.Add("地区省");
66 this.DealItems.Columns.Add("地区市");
67 this.DealItems.Columns.Add("项目负责人");
68 this.DealItems.Columns.Add("审批状态");
69 this.DealItems.Columns.Add("项目优先级");
70 }
71
72 }
73
74 /// <summary>
75 /// 初始化数据
76 /// </summary>
77 private void InitDealItemsData()
78 {
79 SPSecurity.RunWithElevatedPrivileges(delegate()
80 {
81 SPSite site = new SPSite(SPContext.Current.Site.Url);
82 SPWeb projectWeb = site.AllWebs[SPContext.Current.Web.ID];
83 SPList projectList = projectWeb.Lists["项目站点"];
84
85 SPField projectManagerField = projectList.Fields["项目负责人"];
86
87 foreach (SPListItem item in projectList.Items)
88 {
89 if (!item["审批状态"].ToString().Equals("0"))
90 {
91 DataRow row = this.DealItems.Rows.Add(new object[0]);
92 row["ID"] = item["ID"].ToString();
93 row["项目名称"] = item["项目名称"].ToString();
94 row["项目编号"] = item["项目编号"].ToString();
95 row["行业"] = item["行业"].ToString();
96 row["项目类别"] = item["项目类别"].ToString().Substring(item["项目类别"].ToString().IndexOf('_') + 1);
97 row["地区省"] = item["地区省"].ToString();
98 row["地区市"] = item["地区市"].ToString().Substring(item["地区市"].ToString().IndexOf('_') + 1);
99 row["项目负责人"] = ((SPFieldUserValue)projectManagerField.GetFieldValue(item["项目负责人"].ToString())).User.Name;
100
101 if (item["审批状态"].ToString().Equals("1"))
102 row["审批状态"] = "已拒绝";
103 else if (item["审批状态"].ToString().Equals("2"))
104 row["审批状态"] = "待定";
105
106 row["项目优先级"] = item["项目优先级"].ToString();
107 }
108 }
109 });
110 }
111
112 /// <summary>
113 /// 是否是项目总监
114 /// </summary>
115 /// <param name="currentUser">当前登陆用户</param>
116 /// <returns></returns>
117 private bool IsMajordomo(SPUser currentUser)
118 {
119 bool result = false;
120
121 SPSecurity.RunWithElevatedPrivileges(delegate()
122 {
123 SPSite site = new SPSite(currentUser.ParentWeb.Site.Url);
124 SPWeb projectWeb = site.AllWebs["ProjectManagement"];
125 SPGroup majordomoGroup = projectWeb.SiteGroups["项目总监"];
126 if (majordomoGroup != null)
127 {
128 foreach (SPUser user in majordomoGroup.Users)
129 {
130 if (user.LoginName.Equals(currentUser.LoginName))
131 {
132 result = true;
133 break;
134 }
135 }
136 }
137
138 });
139
140 return result;
141 }
142
143 }
144 }
class DealProjectItems
1 using System;
2 using System.Collections;
3 using System.Configuration;
4 using System.Data;
5 using System.Data.SqlClient;
6 using System.Web;
7 using System.Web.Security;
8 using System.Web.UI;
9 using System.Web.UI.HtmlControls;
10 using System.Web.UI.WebControls;
11 using System.Web.UI.WebControls.WebParts;
12
13 using Microsoft.SharePoint;
14
15 namespace ProjectManager.MyUserControl.DealItems
16 {
17 public partial class DealProjectItems : System.Web.UI.UserControl
18 {
19 /// <summary>
20 /// 待批项目记录
21 /// </summary>
22 private DataTable DealItems;
23
24 protected void Page_Load(object sender, EventArgs e)
25 {
26 ///判断当前用户是否是项目总监和站点集管理员
27 if (SPContext.Current.Web.CurrentUser.IsSiteAdmin || this.IsMajordomo(SPContext.Current.Web.CurrentUser))
28 {
29 //显示待办项目
30 this.PanelDealProjectMain.Visible = true;
31 this.InitDealItemsColumns();
32 this.InitDealItemsData();
33 if (this.DealItems.Rows.Count > 0)
34 {
35 this.Lable_ProjectMessage.Visible = false;
36 this.GridViewDealProjectItems.DataSource = this.DealItems.DefaultView;
37 }
38 else
39 {
40 //显示提示信息
41 this.Lable_ProjectMessage.Visible = true;
42 }
43 this.GridViewDealProjectItems.DataBind();
44 }
45 else
46 {
47 //隐藏待办项目
48 this.PanelDealProjectMain.Visible = false;
49 }
50 }
51
52 /// <summary>
53 /// 初始化列
54 /// </summary>
55 private void InitDealItemsColumns()
56 {
57 if (this.DealItems == null)
58 {
59 this.DealItems = new DataTable();
60 this.DealItems.Columns.Add("ID");
61 this.DealItems.Columns.Add("项目名称");
62 this.DealItems.Columns.Add("项目编号");
63 this.DealItems.Columns.Add("行业");
64 this.DealItems.Columns.Add("项目类别");
65 this.DealItems.Columns.Add("地区省");
66 this.DealItems.Columns.Add("地区市");
67 this.DealItems.Columns.Add("项目负责人");
68 this.DealItems.Columns.Add("审批状态");
69 this.DealItems.Columns.Add("项目优先级");
70 }
71
72 }
73
74 /// <summary>
75 /// 初始化数据
76 /// </summary>
77 private void InitDealItemsData()
78 {
79 SPSecurity.RunWithElevatedPrivileges(delegate()
80 {
81 SPSite site = new SPSite(SPContext.Current.Site.Url);
82 SPWeb projectWeb = site.AllWebs[SPContext.Current.Web.ID];
83 SPList projectList = projectWeb.Lists["项目站点"];
84
85 SPField projectManagerField = projectList.Fields["项目负责人"];
86
87 foreach (SPListItem item in projectList.Items)
88 {
89 if (!item["审批状态"].ToString().Equals("0"))
90 {
91 DataRow row = this.DealItems.Rows.Add(new object[0]);
92 row["ID"] = item["ID"].ToString();
93 row["项目名称"] = item["项目名称"].ToString();
94 row["项目编号"] = item["项目编号"].ToString();
95 row["行业"] = item["行业"].ToString();
96 row["项目类别"] = item["项目类别"].ToString().Substring(item["项目类别"].ToString().IndexOf('_') + 1);
97 row["地区省"] = item["地区省"].ToString();
98 row["地区市"] = item["地区市"].ToString().Substring(item["地区市"].ToString().IndexOf('_') + 1);
99 row["项目负责人"] = ((SPFieldUserValue)projectManagerField.GetFieldValue(item["项目负责人"].ToString())).User.Name;
100
101 if (item["审批状态"].ToString().Equals("1"))
102 row["审批状态"] = "已拒绝";
103 else if (item["审批状态"].ToString().Equals("2"))
104 row["审批状态"] = "待定";
105
106 row["项目优先级"] = item["项目优先级"].ToString();
107 }
108 }
109 });
110 }
111
112 /// <summary>
113 /// 是否是项目总监
114 /// </summary>
115 /// <param name="currentUser">当前登陆用户</param>
116 /// <returns></returns>
117 private bool IsMajordomo(SPUser currentUser)
118 {
119 bool result = false;
120
121 SPSecurity.RunWithElevatedPrivileges(delegate()
122 {
123 SPSite site = new SPSite(currentUser.ParentWeb.Site.Url);
124 SPWeb projectWeb = site.AllWebs["ProjectManagement"];
125 SPGroup majordomoGroup = projectWeb.SiteGroups["项目总监"];
126 if (majordomoGroup != null)
127 {
128 foreach (SPUser user in majordomoGroup.Users)
129 {
130 if (user.LoginName.Equals(currentUser.LoginName))
131 {
132 result = true;
133 break;
134 }
135 }
136 }
137
138 });
139
140 return result;
141 }
142
143 }
144 }
相关文章推荐
- 使用GirdView展现MOSS自定义列表
- c#自定义条件排序 可以使用中文条件 datagirdview
- 【笔记】Android使用RecyclerView实现可自定义节点的树形列表
- 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)
- 如何使用Model View delegate自定义列表
- Android创建自定义视图列表对话框(数据库中的数据作为数据源,使用RecyclerView作为列表)
- Android使用RecyclerView实现自定义列表、点击事件以及下拉刷新
- android中RecyclerView使用自定义的列表布局
- 如何使用Model View delegate自定义列表
- ios-day09-02(QQ好友列表。自定义UITableViewHeaderFooterView、如何控制UITableView每一组的展开和闭合、代理的使用)
- 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)
- 使用UIActivityViewController展现自定义分享选项
- 如何使用Model View delegate自定义列表
- Android - 使用自定义webview调用支付宝app支付
- 使用Xib封装一个自定义View
- 自定义View,实现PopupWindow下拉列表
- Android实现RecyclerView自定义列表,SwipeRefreshLayout实现下拉刷新
- Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
- 使用UIImageView展现来自网络的图片
- UITableView 使用方法(一) - 创建简单的列表