乙個軟體的成功除了跟軟體的靈活性和功能有很大關係之外,其實操作的便利性也佔了很大一部分,特別是想搶占其他軟體的領域的時候。實施的成功與否跟操作者有著很大的關係,要直接使用者的認可,在資料的輸入方面就要花費很大的功夫了。
公司的專案都是用dbgrideh做從表資料的輸入,當一列設定為readonly後,在enter的時候自動的會跳過這個單元格。
由於我的框架裡面都使用的是cxgrid做輸入,cxgrid這樣做就不行,也許大家會想到設定column的focusing屬性。這樣做是可以,但有個很不爽的問題(可能大家認為不是什麼問題)連複製都行,無法獲得焦點。經過跟蹤原始碼。對**做了一些改動。主要是修改cxgridcustomtableview.pas這個檔案。如下:
為了方便修改把相近的**也貼出來。23
4function
tcxcustomgridtablecontroller.findnextitem(afocuseditemindex: integer;
5agoforward, agooncycle, afollowvisualorder: boolean;
outacyclechanged: boolean;
6arecord: tcxcustomgridrecord): integer;
7begin8if
notfindnextcustomitem(afocuseditemindex, gridview.visibleitemcount,
9agoforward, agooncycle,
10//
modify by mofen
11@cxcustomgridtablecontrollercantabstopitem,
12//
@cxcustomgridtablecontrollercanfocusitem,
13arecord, result, acyclechanged)
then
14result :=-
1;15end;16
1718
19//
此處沒有修改
2021
function
cxcustomgridtablecontrollercanfocusitem(aowner: tcxcustomgridtableview;
22aitemindex: integer; adata: tobject): boolean;
23begin
24result :
=aowner.visibleitems[aitemindex].canfocus(tcxcustomgridrecord(adata));
25end;26
2728
29//
add mofen
30function
cxcustomgridtablecontrollercantabstopitem(aowner: tcxcustomgridtableview;
31aitemindex: integer; adata: tobject): boolean;
32begin
33result :
=aowner.visibleitems[aitemindex].cantabstop(tcxcustomgridrecord(adata));
34end;35
3637
38//
此處沒有修改
39function
tcxcustomgridtableitem.cansort: boolean;
40begin
41result :
=(esosorting
ingetproperties.getsupportedoperations)
and42
gridview.optionscustomize.itemsorting
andoptions.sorting;
43end;44
4546
47//
add mofen
48function
tcxcustomgridtableitem.cantabstop(
49arecord: tcxcustomgridrecord): boolean;
50begin
51result :
=canfocus(arecord)
andfoptions.cantabstop;
52end;53
5455
56//
tcxcustomgridtableitemoptions calss
57property
focusing: boolean
read
ffocusing
write
setfocusing
default
true;
58//
add by mofen
59property
cantabstop: boolean
read
fcantabstop
write
fcantabstop
default
true;
6061
6263
constructor
tcxcustomgridtableitemoptions.create(aitem: tcxcustomgridtableitem);
64begin
65inherited;66
67.......
68ffilteringpopupmultiselect :
=true;
69//
mofen
70fcantabstop :
=true;
7172
給numpy矩陣新增一列
首先我們有乙個資料是乙個m n的numpy矩陣現在我們希望能夠進行給他加上一列變成乙個m n 1 的矩陣 import numpy as np a np.array 1,2,3 4,5,6 7,8,9 b np.ones 3 c np.array 1,2,3,1 4,5,6,1 7,8,9,1 pr...
給numpy矩陣新增一列
問題的定義 首先我們有乙個資料是乙個mn的numpy矩陣現在我們希望能夠進行給他加上一列變成乙個m n 1 的矩陣 import numpy as np a np.array 1,2,3 4,5,6 7,8,9 b np.ones 3 c np.array 1,2,3,1 4,5,6,1 7,8,9...
給GridView刪除列新增刪除提示
首先設定commandfield,把showeditbutton showdeletebutton屬性都設定為true,也可以只設定showdeletebutton屬性,那樣下面的 你要修改一下調換一下順序。頁面 如下 按鈕 buttontype image 還有link和button兩種 並且放在...