您的位置:首页 > 运维架构 > 网站架构

简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnets

2013-05-09 10:02 996 查看
简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnets 显示某个对象的评论列表的功能实现

2012-09-02 18:52 by 通用信息化建设平台, 346 阅读, 0 评论, 收藏, 编辑



这个是系统里列出某个对象的所有评论的功能页面,此页面按 对象的分类、对象的主键来区别系统的所有评论。方便管理人员维护管理某个对象的所有相关评论。

1//--------------------------------------------------------------------
2// All Rights Reserved , Copyright (C) 2012 , Hairihan TECH, Ltd.
3//--------------------------------------------------------------------
4
5using System;
6using System.Data;
7using System.Windows.Forms;
8
9namespace DotNet.WinForm
10 {
11using DotNet.Business;
12using DotNet.Utilities;
13
14///<summary>
15/// FrmCommnets.cs
16/// 评论列表
17///
18/// 修改记录
19///
20/// 2012.08.26 版本:1.0 JiRiGaLa 列表功能页面编写。
21///
22/// 版本:1.0
23///
24///<author>
25///<name>JiRiGaLa</name>
26///<date>2012.08.26</date>
27///</author>
28///</summary>
29publicpartialclass FrmCommnets : BaseForm
30 {
31public FrmCommnets()
32 {
33 InitializeComponent();
34 }
35
36public FrmCommnets(string categoryCode, string objectId)
37 : this()
38 {
39this.CategoryCode = categoryCode;
40this.ObjectId = objectId;
41 }
42
43#region public override string EntityId 主键
44///<summary>
45/// 主键
46///</summary>
47publicoverridestring EntityId
48 {
49get
50 {
51return BaseInterfaceLogic.GetDataGridViewEntityId(this.grdComment, BaseCommentEntity.FieldId);
52 }
53 }
54#endregion
55
56privatestring categoryCode = string.Empty;
57///<summary>
58/// 分类
59///</summary>
60publicstring CategoryCode
61 {
62get
63 {
64return categoryCode;
65 }
66set
67 {
68 categoryCode = value;
69 }
70 }
71
72privatestring objectId = string.Empty;
73///<summary>
74/// 实体主键
75///</summary>
76publicstring ObjectId
77 {
78get
79 {
80return objectId;
81 }
82set
83 {
84 objectId = value;
85 }
86 }
87
88#region public override void FormOnLoad() 加载窗体
89///<summary>
90/// 加载窗体
91///</summary>
92publicoverridevoid FormOnLoad()
93 {
94// 表格显示序号的处理部分
95this.DataGridViewOnLoad(this.grdComment);
96// 获得列表
97this.GetList();
98 }
99#endregion
100
101#region public override void GetList() 获取列表
102///<summary>
103/// 获取列表
104///</summary>
105publicoverridevoid GetList()
106 {
107 SQLBuilder sqlBuilder = new SQLBuilder(this.UserCenterDbHelper);
108 sqlBuilder.BeginSelect(BaseCommentEntity.TableName);
109 sqlBuilder.SetWhere(BaseCommentEntity.FieldCategoryCode, this.CategoryCode);
110 sqlBuilder.SetWhere(BaseCommentEntity.FieldObjectId, this.ObjectId);
111 sqlBuilder.SetWhere(BaseCommentEntity.FieldDeletionStateCode, 0);
112 DataTable dtComment = sqlBuilder.EndSelect();
113 dtComment.DefaultView.Sort = BaseCommentEntity.FieldCreateOn + " DESC";
114this.grdComment.AutoGenerateColumns = false;
115this.grdComment.DataSource = dtComment.DefaultView;
116 }
117#endregion
118
119#region public override void SetControlState() 设置控件状态
120///<summary>
121/// 设置控件状态
122///</summary>
123publicoverridevoid SetControlState()
124 {
125this.btnAdd.Enabled = true;
126this.btnEdit.Enabled = false;
127this.btnBatchDelete.Enabled = false;
128this.btnSelectAll.Enabled = false;
129this.btnInvertSelect.Enabled = false;
130
131if ((this.grdComment.RowCount >= 1))
132 {
133this.btnSelectAll.Enabled = true;
134this.btnInvertSelect.Enabled = true;
135this.btnEdit.Enabled = true;
136this.btnBatchDelete.Enabled = true;
137 }
138 }
139#endregion
140
141privatevoid grdComment_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
142 {
143this.btnEdit.PerformClick();
144 }
145
146privatevoid btnSelectAll_Click(object sender, EventArgs e)
147 {
148foreach (DataGridViewRow dataGridViewRow inthis.grdComment.Rows)
149 {
150 dataGridViewRow.Cells["colSelected"].Value = true;
151 }
152 }
153
154privatevoid btnInvertSelect_Click(object sender, EventArgs e)
155 {
156foreach (DataGridViewRow dataGridViewRow inthis.grdComment.Rows)
157 {
158 dataGridViewRow.Cells["colSelected"].Value = !(System.Boolean)(dataGridViewRow.Cells["colSelected"].Value ?? false);
159 }
160 }
161
162privatevoid btnAdd_Click(object sender, EventArgs e)
163 {
164 FrmCommentAdd frmCommentAdd = new FrmCommentAdd(this.CategoryCode, this.ObjectId);
165if (frmCommentAdd.ShowDialog(this) == DialogResult.OK || frmCommentAdd.Changed)
166 {
167// 获得角色列表
168this.GetList();
169// 设置按钮状态
170this.SetControlState();
171 }
172 }
173
174privatevoid btnEdit_Click(object sender, EventArgs e)
175 {
176 FrmCommentEdit frmCommentEdit = new FrmCommentEdit(this.EntityId);
177if (frmCommentEdit.ShowDialog(this) == DialogResult.OK)
178 {
179// 获得角色列表
180this.GetList();
181// 设置按钮状态
182this.SetControlState();
183 }
184 }
185
186#region private string[] GetSelecteIds() 获得已被选择的主键数组
187///<summary>
188/// 获得已被选择的主键数组
189///</summary>
190///<returns>主键数组</returns>
191privatestring[] GetSelecteIds()
192 {
193return BaseInterfaceLogic.GetSelecteIds(this.grdComment, BaseRoleEntity.FieldId, "colSelected", true);
194 }
195#endregion
196
197#region public override int BatchDelete() 批量删除
198///<summary>
199/// 批量删除
200///</summary>
201///<returns>影响行数</returns>
202publicoverrideint BatchDelete()
203 {
204int returnValue = 0;
205// 这个是只打上删除标记的方法
206 SQLBuilder sqlBuilder = new SQLBuilder(this.UserCenterDbHelper);
207 sqlBuilder.BeginUpdate(BaseCommentEntity.TableName);
208 sqlBuilder.SetValue(BaseCommentEntity.FieldDeletionStateCode, 1);
209 sqlBuilder.SetWhere(BaseCommentEntity.FieldId, this.GetSelecteIds());
210 returnValue = sqlBuilder.EndUpdate();
211// 这里是真删除的方法
212// sqlBuilder.BeginDelete(BaseCommentEntity.TableName);
213// sqlBuilder.SetWhere(BaseCommentEntity.FieldId, this.GetSelecteIds());
214// returnValue = sqlBuilder.EndDelete();
215return returnValue;
216 }
217#endregion
218
219///<summary>
220/// 删除数据
221///</summary>
222publicint Delete()
223 {
224int returnValue = 0;
225// 检查至少要选择一个?
226if (!BaseInterfaceLogic.CheckInputSelectAnyOne(this.grdComment, "colSelected"))
227 {
228return returnValue;
229 }
230// 是否确认删除了?
231if (MessageBox.Show(AppMessage.MSG0015, AppMessage.MSG0000, MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.OK)
232 {
233return returnValue;
234 }
235// 设置鼠标繁忙状态,并保留原先的状态
236 Cursor holdCursor = this.Cursor;
237this.Cursor = Cursors.WaitCursor;
238try
239 {
240this.btnBatchDelete.Enabled = false;
241 returnValue = this.BatchDelete();
242// 重新加载数据,先刷新屏幕,再显示提示信息
243this.FormOnLoad();
244this.SetControlState();
245// 是否需要有提示信息?
246if (BaseSystemInfo.ShowInformation)
247 {
248// 批量保存,进行提示
249 MessageBox.Show(AppMessage.Format(AppMessage.MSG0077, returnValue.ToString()), AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information);
250 }
251 }
252catch (Exception ex)
253 {
254this.ProcessException(ex);
255 }
256finally
257 {
258// 设置鼠标默认状态,原来的光标状态
259this.Cursor = holdCursor;
260 }
261return returnValue;
262 }
263
264privatevoid btnBatchDelete_Click(object sender, EventArgs e)
265 {
266// 删除数据
267this.Delete();
268 }
269 }
270 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  程序 开发 Copyright
相关文章推荐