简单快速开发C\S架构程序用最简单的不分层最快的效率

用通用权限管理系统组件开发一个简易的日积月累功能的代码实现,运行效果如下效果,很多通用的小功能系统组件自动都实现了,那开发应用程序会变得又快又简单了。

简单快速开发C\S架构程序用最简单的不分层最快的效率

 具体代码参考如下:

 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/// FrmKnowledge.cs
16/// 日积月累
17///
18/// 修改记录
19///
20///     2012.09.03 版本:1.0 JiRiGaLa  修改功能页面编写。
21///
22/// 版本:1.0
23///
24///<author>
25///<name>JiRiGaLa</name>
26///<date>2012.09.03</date>
27///</author>
28///</summary>
29publicpartialclass FrmKnowledge : BaseForm
30     {
31public FrmKnowledge()
32         {
33             InitializeComponent();
34         }
35
36///<summary>
37/// 日积月累的知识库
38///</summary>
39        DataTable dtKnowledge = null;
40
41///<summary>
42/// 当前显示第几条
43///</summary>
44int CurrentIndex = 0;
45
46#region public override void ShowEntity() 显示内容
47///<summary>
48/// 显示内容
49///</summary>
50publicoverridevoid ShowEntity()
51         {
52// 显示信息
53            BaseCommentEntity commentEntity = new BaseCommentEntity(dtKnowledge.Rows[this.CurrentIndex]);
54this.txtContents.Text = commentEntity.Contents;
55         }
56#endregion
57
58publicoverridevoid SetControlState()
59         {
60if (this.dtKnowledge != null && this.dtKnowledge.Rows.Count > 0)
61             {
62this.btnNext.Enabled = true;
63if (this.CurrentIndex == this.dtKnowledge.Rows.Count - 1)
64                 {
65this.btnNext.Enabled = false;
66                 }
67this.btnPrevious.Enabled = true;
68if (this.CurrentIndex == 0)
69                 {
70this.btnPrevious.Enabled = false;
71                 }
72             }
73         }
74
75#region public override void FormOnLoad() 加载窗体
76///<summary>
77/// 加载窗体
78///</summary>
79publicoverridevoid FormOnLoad()
80         {
81// 获取数据
82            SQLBuilder sqlBuilder = new SQLBuilder(this.UserCenterDbHelper);
83             sqlBuilder.BeginSelect("BaseKnowledge");
84// 只获取前200个数据就可以了,减小网络传递数据的网络带宽。
85            sqlBuilder.SelectTop(200);
86if (!string.IsNullOrEmpty(this.EntityId))
87             {
88                 sqlBuilder.SetWhere(BaseCommentEntity.FieldId, this.EntityId);
89             }
90// 这里是为了每次显示的数据都是乱序的,数据测循序是被打乱的。
91            sqlBuilder.SetOrderBy( " NEWID() ");
92             dtKnowledge = sqlBuilder.EndSelect();
93if (dtKnowledge.Rows.Count > 1)
94             {
95this.CurrentIndex = new Random().Next(0, dtKnowledge.Rows.Count - 1);
96             }
97// 显示实体
98this.ShowEntity();
99
100// 显示日积月累
101string showKnowledge = DotNetService.Instance.ParameterService.GetParameter(BaseSystemInfo.UserInfo, "User""ShowKnowledg""Show");
102if (!string.IsNullOrEmpty(showKnowledge))
103             {
104this.chkShowKnowledge.Checked = showKnowledge.Equals(true.ToString());
105             }
106         }
107#endregion
108
109privatevoid chkShowKnowledge_CheckedChanged(object sender, EventArgs e)
110         {
111if (this.FormLoaded)
112             {
113                 DotNetService.Instance.ParameterService.SetParameter(BaseSystemInfo.UserInfo, "User""ShowKnowledg""Show"this.chkShowKnowledge.Checked.ToString());
114             }
115         }
116
117privatevoid btnPrevious_Click(object sender, EventArgs e)
118         {
119if (this.CurrentIndex > 0)
120             {
121this.CurrentIndex--;
122this.ShowEntity();
123             }
124this.SetControlState();
125         }
126
127privatevoid btnNext_Click(object sender, EventArgs e)
128         {
129if (this.CurrentIndex < this.dtKnowledge.Rows.Count -1)
130             {
131this.CurrentIndex++;
132this.ShowEntity();
133             }
134this.SetControlState();
135         }
136
137privatevoid btnColse_Click(object sender, EventArgs e)
138         {
139this.Close();
140         }
141     }
142 }





本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/1196196,如需转载请自行联系原作者