简单快速开发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();
}
}
}
相关文章推荐
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnetList 所有评论列表的功能实现
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommentAdd 添加评论的功能实现
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommentEdit 编辑评论的功能实现
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmKnowledge日积月累功能的实现
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmUserEdit 添加评论功能页面效果
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnets
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommnetList
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommentEdit
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmCommentAdd
- 简单快速开发C\S架构程序用最简单的不分层最快的效率达到功能要求的例子程序FrmUserEdit
- 简单快速开发C\S架构程序用最简单的不分层最快的效率
- Servlet监听-------------例子:显示在线列表,实现踢人功能
- 微信小程序开发之radio实现显示和隐藏功能
- 收了100元辛苦费,写了一个最简单的C#ASP.NET的3层架构例子代码,源码是通过代码生成器生成的【写程序的效率神奇的高】
- 利用XML配置实现增删改查的.net快速开发架构 简单的构建信息管理系统架构
- Win(Phone)10开发第(3)弹,简单的Demo程序网络请求json解析列表显示
- [Android开发] 在项目中快速实现 列表字母排序滑动索引 功能原理以及过程代码
- c#开发一个“记事本”程序,要求能够实现文件的新建、打开、编辑、保存功能
- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站
- 配置实现-适易快速开发架构实现功能总结