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

简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnetList 所有评论列表的功能实现

2012-09-02 18:48 1111 查看


这个是系统里列出所有评论的功能页面,这个页面列出系统里的所有对象的评论,并且最新的评论显示在最前面,还能标识出是否已处理的功能标志。这个是方便系统的多个管理人员之间互相沟通协调,就算是一个系统管理员,也方便记录系统地各个备忘录。方便日常管理维护。

1 //--------------------------------------------------------------------
2 // All Rights Reserved , Copyright (C) 2012 , Hairihan TECH, Ltd.
3 //--------------------------------------------------------------------
4
5 using System;
6 using System.Data;
7 using System.Windows.Forms;
8
9 namespace DotNet.WinForm
10 {
11 using DotNet.Business;
12 using DotNet.Utilities;
13
14 /// <summary>
15 /// FrmCommnetList.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>
29 public partial class FrmCommnetList : BaseForm
30 {
31 public FrmCommnetList()
32 {
33 InitializeComponent();
34 }
35
36 #region public override string EntityId 主键
37 /// <summary>
38 /// 主键
39 /// </summary>
40 public override string EntityId
41 {
42 get
43 {
44 return BaseInterfaceLogic.GetDataGridViewEntityId(this.grdComment, BaseCommentEntity.FieldId);
45 }
46 }
47 #endregion
48
49 #region public override string CategoryCode 分类
50 /// <summary>
51 /// 分类
52 /// </summary>
53 public string CategoryCode
54 {
55 get
56 {
57 return BaseInterfaceLogic.GetDataGridViewEntityId(this.grdComment, BaseCommentEntity.FieldCategoryCode);
58 }
59 }
60 #endregion
61
62 #region public override string ObjectId 实体主键
63 /// <summary>
64 /// 实体主键
65 /// </summary>
66 public string ObjectId
67 {
68 get
69 {
70 return BaseInterfaceLogic.GetDataGridViewEntityId(this.grdComment, BaseCommentEntity.FieldObjectId);
71 }
72 }
73 #endregion
74
75 #region public override void FormOnLoad() 加载窗体
76 /// <summary>
77 /// 加载窗体
78 /// </summary>
79 public override void FormOnLoad()
80 {
81 // 表格显示序号的处理部分
82 this.DataGridViewOnLoad(this.grdComment);
83 // 获得列表
84 this.GetList();
85 }
86 #endregion
87
88 #region public override void GetList() 获取列表
89 /// <summary>
90 /// 获取列表
91 /// </summary>
92 public override void GetList()
93 {
94 SQLBuilder sqlBuilder = new SQLBuilder(this.UserCenterDbHelper);
95 sqlBuilder.BeginSelect(BaseCommentEntity.TableName);
96 sqlBuilder.SetWhere(BaseCommentEntity.FieldDeletionStateCode, 0);
97 DataTable dtComment = sqlBuilder.EndSelect();
98 dtComment.DefaultView.Sort = BaseCommentEntity.FieldCreateOn + " DESC";
99 this.grdComment.AutoGenerateColumns = false;
this.grdComment.DataSource = dtComment.DefaultView;
}
#endregion

#region public override void SetControlState() 设置控件状态
/// <summary>
/// 设置控件状态
/// </summary>
public override void SetControlState()
{
this.btnView.Enabled = false;
this.btnEdit.Enabled = false;
this.btnBatchDelete.Enabled = false;
this.btnSelectAll.Enabled = false;
this.btnInvertSelect.Enabled = false;

if ((this.grdComment.RowCount >= 1))
{
this.btnSelectAll.Enabled = true;
this.btnInvertSelect.Enabled = true;
this.btnView.Enabled = true;
this.btnEdit.Enabled = true;
this.btnBatchDelete.Enabled = true;
}
}
#endregion

private void grdComment_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
this.btnView.PerformClick();
}

private void btnSelectAll_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow dataGridViewRow in this.grdComment.Rows)
{
dataGridViewRow.Cells["colSelected"].Value = true;
}
}

private void btnInvertSelect_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow dataGridViewRow in this.grdComment.Rows)
{
dataGridViewRow.Cells["colSelected"].Value = !(System.Boolean)(dataGridViewRow.Cells["colSelected"].Value ?? false);
}
}

private void btnView_Click(object sender, EventArgs e)
{
Type assemblyType = CacheManager.Instance.GetType("DotNet.WinForm", this.CategoryCode);
Form frmObject = (Form)Activator.CreateInstance(assemblyType, this.ObjectId);
frmObject.ShowDialog(this);
}

private void btnEdit_Click(object sender, EventArgs e)
{
FrmCommentEdit frmCommentEdit = new FrmCommentEdit(this.EntityId);
if (frmCommentEdit.ShowDialog(this) == DialogResult.OK)
{
// 获得角色列表
this.GetList();
// 设置按钮状态
this.SetControlState();
}
}

#region private string[] GetSelecteIds() 获得已被选择的主键数组
/// <summary>
/// 获得已被选择的主键数组
/// </summary>
/// <returns>主键数组</returns>
private string[] GetSelecteIds()
{
return BaseInterfaceLogic.GetSelecteIds(this.grdComment, BaseRoleEntity.FieldId, "colSelected", true);
}
#endregion

#region public override int BatchDelete() 批量删除
/// <summary>
/// 批量删除
/// </summary>
/// <returns>影响行数</returns>
public override int BatchDelete()
{
int returnValue = 0;
// 这个是只打上删除标记的方法
SQLBuilder sqlBuilder = new SQLBuilder(this.UserCenterDbHelper);
sqlBuilder.BeginUpdate(BaseCommentEntity.TableName);
sqlBuilder.SetValue(BaseCommentEntity.FieldDeletionStateCode, 1);
sqlBuilder.SetWhere(BaseCommentEntity.FieldId, this.GetSelecteIds());
returnValue = sqlBuilder.EndUpdate();
// 这里是真删除的方法
// sqlBuilder.BeginDelete(BaseCommentEntity.TableName);
// sqlBuilder.SetWhere(BaseCommentEntity.FieldId, this.GetSelecteIds());
// returnValue = sqlBuilder.EndDelete();
return returnValue;
}
#endregion

/// <summary>
/// 删除数据
/// </summary>
public int Delete()
{
int returnValue = 0;
// 检查至少要选择一个?
if (!BaseInterfaceLogic.CheckInputSelectAnyOne(this.grdComment, "colSelected"))
{
return returnValue;
}
// 是否确认删除了?
if (MessageBox.Show(AppMessage.MSG0015, AppMessage.MSG0000, MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.OK)
{
return returnValue;
}
// 设置鼠标繁忙状态,并保留原先的状态
Cursor holdCursor = this.Cursor;
this.Cursor = Cursors.WaitCursor;
try
{
this.btnBatchDelete.Enabled = false;
returnValue = this.BatchDelete();
// 重新加载数据,先刷新屏幕,再显示提示信息
this.FormOnLoad();
this.SetControlState();
// 是否需要有提示信息?
if (BaseSystemInfo.ShowInformation)
{
// 批量保存,进行提示
MessageBox.Show(AppMessage.Format(AppMessage.MSG0077, returnValue.ToString()), AppMessage.MSG0000, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
this.ProcessException(ex);
}
finally
{
// 设置鼠标默认状态,原来的光标状态
this.Cursor = holdCursor;
}
return returnValue;
}

private void btnBatchDelete_Click(object sender, EventArgs e)
{
// 删除数据
this.Delete();
}

private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐