給cxGrid的列新增CanTabStop屬性

2021-09-06 01:57:32 字數 2877 閱讀 9611

乙個軟體的成功除了跟軟體的靈活性和功能有很大關係之外,其實操作的便利性也佔了很大一部分,特別是想搶占其他軟體的領域的時候。實施的成功與否跟操作者有著很大的關係,要直接使用者的認可,在資料的輸入方面就要花費很大的功夫了。

公司的專案都是用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兩種 並且放在...