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

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

2012-09-02 18:52 1066 查看


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

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 /// 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>
29 public partial class FrmCommnets : BaseForm
30 {
31 public FrmCommnets()
32 {
33 InitializeComponent();
34 }
35
36 public FrmCommnets(string categoryCode, string objectId)
37 : this()
38 {
39 this.CategoryCode = categoryCode;
40 this.ObjectId = objectId;
41 }
42
43 #region public override string EntityId 主键
44 /// <summary>
45 /// 主键
46 /// </summary>
47 public override string EntityId
48 {
49 get
50 {
51 return BaseInterfaceLogic.GetDataGridViewEntityId(this.grdComment, BaseCommentEntity.FieldId);
52 }
53 }
54 #endregion
55
56 private string categoryCode = string.Empty;
57 /// <summary>
58 /// 分类
59 /// </summary>
60 public string CategoryCode
61 {
62 get
63 {
64 return categoryCode;
65 }
66 set
67 {
68 categoryCode = value;
69 }
70 }
71
72 private string objectId = string.Empty;
73 /// <summary>
74 /// 实体主键
75 /// </summary>
76 public string ObjectId
77 {
78 get
79 {
80 return objectId;
81 }
82 set
83 {
84 objectId = value;
85 }
86 }
87
88 #region public override void FormOnLoad() 加载窗体
89 /// <summary>
90 /// 加载窗体
91 /// </summary>
92 public override void FormOnLoad()
93 {
94 // 表格显示序号的处理部分
95 this.DataGridViewOnLoad(this.grdComment);
96 // 获得列表
97 this.GetList();
98 }
99 #endregion

#region public override void GetList() 获取列表
/// <summary>
/// 获取列表
/// </summary>
public override void GetList()
{
SQLBuilder sqlBuilder = new SQLBuilder(this.UserCenterDbHelper);
sqlBuilder.BeginSelect(BaseCommentEntity.TableName);
sqlBuilder.SetWhere(BaseCommentEntity.FieldCategoryCode, this.CategoryCode);
sqlBuilder.SetWhere(BaseCommentEntity.FieldObjectId, this.ObjectId);
sqlBuilder.SetWhere(BaseCommentEntity.FieldDeletionStateCode, 0);
DataTable dtComment = sqlBuilder.EndSelect();
dtComment.DefaultView.Sort = BaseCommentEntity.FieldCreateOn + " DESC";
this.grdComment.AutoGenerateColumns = false;
this.grdComment.DataSource = dtComment.DefaultView;
}
#endregion

#region public override void SetControlState() 设置控件状态
/// <summary>
/// 设置控件状态
/// </summary>
public override void SetControlState()
{
this.btnAdd.Enabled = true;
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.btnEdit.Enabled = true;
this.btnBatchDelete.Enabled = true;
}
}
#endregion

private void grdComment_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
this.btnEdit.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 btnAdd_Click(object sender, EventArgs e)
{
FrmCommentAdd frmCommentAdd = new FrmCommentAdd(this.CategoryCode, this.ObjectId);
if (frmCommentAdd.ShowDialog(this) == DialogResult.OK || frmCommentAdd.Changed)
{
// 获得角色列表
this.GetList();
// 设置按钮状态
this.SetControlState();
}
}

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();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐