大家可能觉得,我很幼稚,我只想说,细节见真功夫,代码功能不在于多,在于精。
向日本鬼子学习,向美国佬学习。
01.适应性灵活10个8个用户也可以好用,成千上万的用户也可以用。
02.当用户数量很少时,你希望页面加载时,用户都能显示在页面上。
03.当在本地使用时,你也希望用户默认都能加载。
04.当时远程运行模式,或者用户的数量超过上万个时,默认显示用户,页面打开速度就超级慢了,
在自己的电脑上使用时是感觉不到,但是在客户的实际工作环境里部署时,就感触颇深了,慢得要
命了。
05.默认查询时,你希望模糊搜索,只按查询的条件进行过去数据,从服务器端返回的数据,只是
满足条件的部分数据。
06.但是你不知道如何查询时,默认点击查询,就应该所有的数据都能返回到页面上,让你来选择。
07.当所有的数据都在客户端,输入查询时,能默认过滤数据,这样就不用再次从服务器上查询数
据了。
08.默认是否加载所有用户,应该可以在配置文件里进行配置。
09.支持排序功能,可以按各个列进行排序,方便查找。
10.支持全选反选功能,例如Windows里的全选反选,方便快捷。
11.支持单选和多选功能,单选时不显示全选反选功能。
12.支持排除功能,就是把一些用户能从选择页面里排除,不用重复添加,例如一些用户已经在一
个角色里,添加这个角色的其他用户时,已在这个角色里的用户就不用显示了,表示已经加好了。
13.有些用户是有隐藏标志,通常时,不显示在列表里,例如集团的董事长,电脑都不用,对一些
鸡毛窜皮的事情,是不关心的,顶多一年来参加几次股东大会就可以了。
查询效果:
 BaseBusinessLogic.Instance.GetSearchString(search); 为输入的安全处理及%_等的处理逻辑。
 1          private   void  txtSearch_TextChanged( object  sender, EventArgs e)
 2 ExpandedBlockStart.gif         {
 3            String search = this.txtSearch.Text;
 4            if (String.IsNullOrEmpty(search))
 5ExpandedSubBlockStart.gif            {
 6                this.DTUser.DefaultView.RowFilter = String.Empty;
 7            }

 8            else
 9ExpandedSubBlockStart.gif            {
10                if (this.DTUser.Rows.Count > 0)
11ExpandedSubBlockStart.gif                {
12                    search = BaseBusinessLogic.Instance.GetSearchString(search);
13                    this.DTUser.DefaultView.RowFilter = BaseUserTable.FieldUsername + " LIKE '" + search + "'"
14                        + " OR " + BaseUserTable.FieldCode + " LIKE '" + search + "'"
15                        + " OR " + BaseUserTable.FieldRealname + " LIKE '" + search + "'"
16                        + " OR " + BaseUserTable.FieldCompany + " LIKE '" + search + "'"
17                        + " OR " + BaseUserTable.FieldDepartment + " LIKE '" + search + "'"
18                        + " OR " + BaseUserTable.FieldDescription + " LIKE '" + search + "'";
19                }

20            }

21        }
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。