大家可能觉得,我很幼稚,我只想说,细节见真功夫,代码功能不在于多,在于精。
向日本鬼子学习,向美国佬学习。
向日本鬼子学习,向美国佬学习。
01.适应性灵活10个8个用户也可以好用,成千上万的用户也可以用。
02.当用户数量很少时,你希望页面加载时,用户都能显示在页面上。
03.当在本地使用时,你也希望用户默认都能加载。
04.当时远程运行模式,或者用户的数量超过上万个时,默认显示用户,页面打开速度就超级慢了,
在自己的电脑上使用时是感觉不到,但是在客户的实际工作环境里部署时,就感触颇深了,慢得要
命了。
05.默认查询时,你希望模糊搜索,只按查询的条件进行过去数据,从服务器端返回的数据,只是
满足条件的部分数据。
06.但是你不知道如何查询时,默认点击查询,就应该所有的数据都能返回到页面上,让你来选择。
07.当所有的数据都在客户端,输入查询时,能默认过滤数据,这样就不用再次从服务器上查询数
据了。
08.默认是否加载所有用户,应该可以在配置文件里进行配置。
09.支持排序功能,可以按各个列进行排序,方便查找。
10.支持全选反选功能,例如Windows里的全选反选,方便快捷。
11.支持单选和多选功能,单选时不显示全选反选功能。
12.支持排除功能,就是把一些用户能从选择页面里排除,不用重复添加,例如一些用户已经在一
个角色里,添加这个角色的其他用户时,已在这个角色里的用户就不用显示了,表示已经加好了。
13.有些用户是有隐藏标志,通常时,不显示在列表里,例如集团的董事长,电脑都不用,对一些
鸡毛窜皮的事情,是不关心的,顶多一年来参加几次股东大会就可以了。
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 {
3 String search = this.txtSearch.Text;
4 if (String.IsNullOrEmpty(search))
5 {
6 this.DTUser.DefaultView.RowFilter = String.Empty;
7 }
8 else
9 {
10 if (this.DTUser.Rows.Count > 0)
11 {
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 }
2 {
3 String search = this.txtSearch.Text;
4 if (String.IsNullOrEmpty(search))
5 {
6 this.DTUser.DefaultView.RowFilter = String.Empty;
7 }
8 else
9 {
10 if (this.DTUser.Rows.Count > 0)
11 {
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 }
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。
本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/451723,如需转载请自行联系原作者