注意:如果top_seller_nick有重复的值的时候,keyfield 也为top_seller_nick的话,就会造成,选中最下面的那个阿里巴巴的,默认也是第一个天猫的各项值。
因为选后是根据keyfield来锁定查询的。你虽然选择了最后一个,但是 程序 根据keyfiled的值锁定匹配到第一个就停止了,所以 这个时候 选择了 最后一个 其实就是
选择了 第一个
所有嘛:keyfield 要慎用,用则保证 不重复。
看下 我的设置
ListFieldIndex-----意思当下拉选择后,显示哪列的内容。
通常会用到 这两个事件:
procedure TfrmApiDownTid.TopSellerNick_cbbButtonDown(Sender: TObject; TopButton: Boolean; var AutoRepeat, Handled: Boolean); var MyShopKindApi: TShopKindApi; begin MyShopKindApi := TShopKindApi.Create; try TopSellerNick_cbb.DropDownBox.Columns[2].KeyList.CommaText := MyShopKindApi.GetShopKindEnListStr; TopSellerNick_cbb.DropDownBox.Columns[2].PickList.CommaText := MyShopKindApi.GetShopKindCnListStr; with frmClientDm.ShopShowFdq do begin Close; SQL.Text := 'SELECT * FROM top_shop'; Open(); end; finally MyShopKindApi.Free; end; end;
procedure TfrmApiDownTid.TopSellerNick_cbbKeyValueChanged(Sender: TObject); var MyShopApi: TShopApi; MyJson,top_seller_nick,top_shop_kind: string; MySo: ISuperObject; begin MyShopApi := TShopApi.Create; try //----------------------------- {获取参数} if Trim(TopSellerNick_cbb.Text) <> '' then begin top_seller_nick := Trim(TopSellerNick_cbb.Text); end else begin Exit; end; //----------------------------- { 2014-05-05--bug修复,兼容客户手工输入的情况: 思路: 1.先从top_shop表中查找这个top_seller_nick,如果没有查到就退出 2.如果查到说明有数据,frmClientDm.ShopShowFdq.FieldByName('top_shop_kind').AsString要用这样的方式来获取top_shop_kind 兼容客户手工输入的情况 } MyJson := MyShopApi.GetJsonBySellerNickShopKind(top_seller_nick,''); if MyJson = '' then begin Exit; end; MySo := SO(MyJson); //注意这里,一定要用这样的方式来获取top_shop_kind,确保店铺名字重复依然没有问题. top_shop_kind := frmClientDm.ShopShowFdq.FieldByName('top_shop_kind').AsString; TopSellerNick_cbb.Hint := top_shop_kind; //----------------------------- if top_shop_kind = 'Top' then begin Shop_pc.ActivePage := TopShop_ts; end else if top_shop_kind = 'Pop' then begin Shop_pc.ActivePage := PopShop_ts; end else if top_shop_kind = 'Jop' then begin Shop_pc.ActivePage := JopShop_ts; end else if top_shop_kind = 'Yop' then begin Shop_pc.ActivePage := YopShop_ts; end else if top_shop_kind = 'Aop' then begin Shop_pc.ActivePage := AopShop_ts; end; finally MyShopApi.Free; end; end;
总之很强大。。。。。
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/p/3709143.html
分类:
DBGridEH
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2013-05-05 防止程序重复运行 互斥
2013-05-05 关于禁止程序重复启动的另一种需要与实现
2013-05-05 防止程序重复执行的单元