大家可能覺得,我很幼稚,我隻想說,細節見真功夫,代碼功能不在于多,在于精。
向日本鬼子學習,向美國佬學習。
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
{
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,如需轉載請自行聯系原作者