delphi cxgrid里面的虚拟字段的checkbox可以多选并抓取选定的数据字段
cxgrid里面的虚拟字段的checkbox可以多选需要设置:SmartRefresh:=True;KeyFieldNames=主键字段
多选checkbox以后循环抓取相应的字段:
var
ordersn:string;
sSQL,Fsql,scripno: string;
rptName: string;
ch: Boolean;
i, j: Integer;
flrft : Boolean; //过滤状态标志
artFlt : Boolean; //代码引起过滤标志
mStream : TStream; //存储客户设置过滤条件的内存流
begin
inherited;
ordersn:=adsMaster.fieldbyname('scripno').asstring;
try
mStream:=TMemoryStream.Create;
scripno:='';
artFlt:=true;//设置将要改变过滤的标志
mStream.Position:=0;//流指针指向开始位
tv_grdOrder.DataController.Filter.Root.Criteria.SaveToStream(mStream);//将过滤状态存入流
flrft:=tv_grdOrder.DataController.Filter.Active;//保存过滤状态是否激活
tv_grdOrder.DataController.Filter.Root.Clear;//清除原有过滤设置
tv_grdOrder.DataController.Filter.Root.AddItem(tv_grdOrder.Columns[0],foEqual,'True','√ ');//以0列为真过滤
tv_grdOrder.DataController.Filter.Active:=True;//激活过滤
ch:=tv_grdOrder.DataController.FilteredRecordCount>0;//过滤后的记录数
if ch then //过滤后有记录数
begin
for j:=0 to tv_grdOrder.ViewData.RowCount-1 do//以行数循环
begin
adsmaster.RecNo:=tv_grdOrder.ViewData.Rows[j].RecordIndex+1;
if(scripno<>'')then
scripno:=scripno+',';
scripno:=scripno+ QuotedStr(adsmaster.fieldbyname('scripno').AsString);
end;
end;
//恢复客户过滤状态:
tv_grdOrder.DataController.Filter.Root.Clear;//清除原有过滤设置
mStream.Position:=0;
tv_grdOrder.DataController.Filter.Root.Criteria.LoadFromStream(mStream);
tv_grdOrder.DataController.Filter.Active:=flrft;
artFlt:=false;
finally
end;
Doopendata();
adsMaster.Locate('scripno', ordersn, []);
if scripno='' then scripno:=QuotedStr(adsmaster.fieldbyname('scripno').AsString);
end;
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2019-01-09 delphi完美经典--第十八章
2019-01-09 (转自大富翁)LockType 属性
2019-01-09 Delphi通过ADO链接数据库及对数据库的增加,删除,修改,读取操作实例教程4
2019-01-09 delphi 事务处理SQL语句
2019-01-09 Delphi中的ADOquery 用法以及ADOquery的自有方法Append 和Delete和 Edit 和Post
2019-01-09 UpdateBatch与事务处理的一点总结
2019-01-09 delphi中 dataset容易出错的地方