随笔 - 809  文章 - 0 评论 - 144 阅读 - 770万

 

 

 

注意:如果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;
复制代码

 

 

 

总之很强大。。。。。

posted on   del88  阅读(77)  评论(0编辑  收藏  举报
编辑推荐:
· 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 防止程序重复执行的单元
点击右上角即可分享
微信分享提示