cxGrid 鎖定一行,讓該行資料不能編輯

2021-10-04 08:25:48 字數 1645 閱讀 1267

在使用cxgrid時,由於設定了所有單元格都能編輯,

但在特定的情況下,讓某些行,根據一些列值條件,讓該行整行鎖定,不能編輯。

dev官網的列子是這樣的

// disable a row  整行禁止編輯

procedure tform1.cxgrid1dbtableview1editing(sender: tcxcustomgridtableview;

aitem: tcxcustomgridtableitem; var aallow: boolean);

varakeyvalue : variant;

begin

akeyvalue := sender.datacontroller.getrecordid(sender.controller.focusedrecordindex);

if (akeyvalue = '1351') or (akeyvalue = '1356') or (akeyvalue = '1384') then

aallow := false;

end;

// ****** a row read only   讓一行唯讀

procedure tform1.cxgrid1dbtableview1initedit(

sender: tcxcustomgridtableview; aitem: tcxcustomgridtableitem;

aedit: tcxcustomedit);

varakeyvalue : variant;

begin

end;

// ****** a row look like disabled   讓一行看起來禁止了

procedure tform1.cxgrid1dbtableview1stylesgetcontentstyle(

sender: tcxcustomgridtableview; arecord: tcxcustomgridrecord;

aitem: tcxcustomgridtableitem; out astyle: tcxstyle);

varakeyvalue : variant;

begin

akeyvalue := sender.datacontroller.getrecordid(arecord.recordindex);

if (akeyvalue = '1351') or (akeyvalue = '1356') or (akeyvalue = '1384') then

astyle := cxdisablestyle;

end;

procedure tform1.cxgrid1dbtableview1editing(sender: tcxcustomgridtableview;

aitem: tcxcustomgridtableitem; var aallow: boolean);

begin

//cxgrid1dbtableview1canedit 為cxgrid中某列,判斷不為空時,設定該行不能編輯。

if vartostrdef(sender.controller.focusedrecord.values[cxgrid1dbtableview1canedit.index], '') <> '' then

aallow := false;

end;

pandas 增加一行資料

常用的方法 df dataframe columns lib qty1 qty2 for i in range 5 df.loc i randint 1,1 for n in range 3 loc可以對沒有的 index 進行賦值,而 iloc 則不允許,iloc只能對已經存在的位置進行操作。pr...

mysql 一行資料拆分多行

查詢出被逗號分隔字段需要拆分的最大數量 select max length 逗號分隔的字段 length replace 逗號分隔的字段,1 from 處理表 where 條件 建立一張臨時表用於聯合查詢,方便把處理表單行記錄分隔為多行 create temporary table incre ta...

Oracle多行資料顯示為一行

最近在做一新專案涉及到複雜的查詢,其中就包括需要將多行資料轉化為一行顯示,在網上google了一把然後自己改了一點就可以用了,記錄下來以為後用.第一步 新建types型別 create or replace type combstrtype as object currentstr varchar2...